Пример #1
0
 def test_table_without_primary_key(self):
     article = sa.Table(
         'article',
         sa.MetaData(),
         sa.Column('name', sa.String)
     )
     assert not has_index(article.c.name)
Пример #2
0
    def test_composite_fk_with_index(self, Base):

        class User(Base):
            __tablename__ = 'user'
            first_name = sa.Column(sa.Unicode(255), primary_key=True)
            last_name = sa.Column(sa.Unicode(255), primary_key=True)

        class Article(Base):
            __tablename__ = 'article'
            id = sa.Column(sa.Integer, primary_key=True)
            author_first_name = sa.Column(sa.Unicode(255))
            author_last_name = sa.Column(sa.Unicode(255))
            __table_args__ = (
                sa.ForeignKeyConstraint(
                    [author_first_name, author_last_name],
                    [User.first_name, User.last_name]
                ),
                sa.Index(
                    'my_index', author_first_name, author_last_name
                )
            )

        table = Article.__table__
        constraint = get_fk_constraint_for_columns(
            table,
            table.c.author_first_name,
            table.c.author_last_name
        )
        assert has_index(constraint)
Пример #3
0
    def test_composite_fk_with_index(self):
        Base = declarative_base()

        class User(Base):
            __tablename__ = 'user'
            first_name = sa.Column(sa.Unicode(255), primary_key=True)
            last_name = sa.Column(sa.Unicode(255), primary_key=True)

        class Article(Base):
            __tablename__ = 'article'
            id = sa.Column(sa.Integer, primary_key=True)
            author_first_name = sa.Column(sa.Unicode(255))
            author_last_name = sa.Column(sa.Unicode(255))
            __table_args__ = (
                sa.ForeignKeyConstraint(
                    [author_first_name, author_last_name],
                    [User.first_name, User.last_name]
                ),
                sa.Index(
                    'my_index', author_first_name, author_last_name
                )
            )

        table = Article.__table__
        constraint = get_fk_constraint_for_columns(
            table,
            table.c.author_first_name,
            table.c.author_last_name
        )
        assert has_index(constraint)
Пример #4
0
 def test_table_without_primary_key(self):
     article = sa.Table(
         'article',
         sa.MetaData(),
         sa.Column('name', sa.String)
     )
     assert not has_index(article.c.name)
Пример #5
0
    def test_composite_fk_without_index(self):
        Base = declarative_base()

        class User(Base):
            __tablename__ = "user"
            first_name = sa.Column(sa.Unicode(255), primary_key=True)
            last_name = sa.Column(sa.Unicode(255), primary_key=True)

        class Article(Base):
            __tablename__ = "article"
            id = sa.Column(sa.Integer, primary_key=True)
            author_first_name = sa.Column(sa.Unicode(255))
            author_last_name = sa.Column(sa.Unicode(255))
            __table_args__ = (
                sa.ForeignKeyConstraint([author_first_name, author_last_name], [User.first_name, User.last_name]),
            )

        table = Article.__table__
        constraint = get_fk_constraint_for_columns(table, table.c.author_first_name, table.c.author_last_name)
        assert not has_index(constraint)
Пример #6
0
 def test_compound_column_index(self, table):
     assert has_index(table.c.is_deleted)
     assert not has_index(table.c.is_archived)
Пример #7
0
 def test_single_column_index(self, table):
     assert has_index(table.c.is_published)
Пример #8
0
 def test_compound_primary_key(self, table):
     assert has_index(table.c.id)
     assert not has_index(table.c.locale)
Пример #9
0
 def test_column_that_belongs_to_an_alias(self, table):
     alias = sa.orm.aliased(table)
     with pytest.raises(TypeError):
         assert has_index(alias.c.id)
Пример #10
0
 def test_compound_column_index(self):
     assert has_index(self.table.c.is_deleted)
     assert not has_index(self.table.c.is_archived)
Пример #11
0
 def test_single_column_index(self):
     assert has_index(self.table.c.is_published)
Пример #12
0
 def test_compound_primary_key(self):
     assert has_index(self.table.c.id)
     assert not has_index(self.table.c.locale)
Пример #13
0
 def test_column_that_belongs_to_an_alias(self):
     alias = sa.orm.aliased(self.table)
     with raises(TypeError):
         assert has_index(alias.c.id)