Ejemplo n.º 1
0
 def test_render_table_upgrade(self):
     m = MetaData()
     t = Table(
         'test',
         m,
         Column('id', Integer, primary_key=True),
         Column('name', Unicode(255)),
         Column("address_id", Integer, ForeignKey("address.id")),
         Column("timestamp", DATETIME, server_default="NOW()"),
         Column("amount", Numeric(5, 2)),
         UniqueConstraint("name", name="uq_name"),
         UniqueConstraint("timestamp"),
     )
     eq_ignore_whitespace(
         autogenerate._add_table(t, self.autogen_context),
         "op.create_table('test',"
         "sa.Column('id', sa.Integer(), nullable=False),"
         "sa.Column('name', sa.Unicode(length=255), nullable=True),"
         "sa.Column('address_id', sa.Integer(), nullable=True),"
         "sa.Column('timestamp', sa.DATETIME(), "
         "server_default='NOW()', "
         "nullable=True),"
         "sa.Column('amount', sa.Numeric(precision=5, scale=2), nullable=True),"
         "sa.ForeignKeyConstraint(['address_id'], ['address.id'], ),"
         "sa.PrimaryKeyConstraint('id'),"
         "sa.UniqueConstraint('name', name='uq_name'),"
         "sa.UniqueConstraint('timestamp')"
         ")")
Ejemplo n.º 2
0
 def test_render_table_upgrade(self):
     m = MetaData()
     t = Table('test', m,
         Column('id', Integer, primary_key=True),
         Column('name', Unicode(255)),
         Column("address_id", Integer, ForeignKey("address.id")),
         Column("timestamp", DATETIME, server_default="NOW()"),
         Column("amount", Numeric(5, 2)),
         UniqueConstraint("name", name="uq_name"),
         UniqueConstraint("timestamp"),
     )
     eq_ignore_whitespace(
         autogenerate._add_table(t, self.autogen_context),
         "op.create_table('test',"
         "sa.Column('id', sa.Integer(), nullable=False),"
         "sa.Column('name', sa.Unicode(length=255), nullable=True),"
         "sa.Column('address_id', sa.Integer(), nullable=True),"
         "sa.Column('timestamp', sa.DATETIME(), "
             "server_default='NOW()', "
             "nullable=True),"
         "sa.Column('amount', sa.Numeric(precision=5, scale=2), nullable=True),"
         "sa.ForeignKeyConstraint(['address_id'], ['address.id'], ),"
         "sa.PrimaryKeyConstraint('id'),"
         "sa.UniqueConstraint('name', name='uq_name'),"
         "sa.UniqueConstraint('timestamp')"
         ")"
     )
Ejemplo n.º 3
0
 def test_render_check_constraint_literal(self):
     eq_ignore_whitespace(
         autogenerate._render_check_constraint(
             CheckConstraint("im a constraint"),
             self.autogen_context
         ),
         "sa.CheckConstraint('im a constraint')"
     )
Ejemplo n.º 4
0
 def test_render_check_constraint_sqlexpr(self):
     c = column('c')
     five = literal_column('5')
     ten = literal_column('10')
     eq_ignore_whitespace(
         autogenerate._render_check_constraint(
             CheckConstraint(and_(c > five, c < ten)),
             self.autogen_context),
         "sa.CheckConstraint('c > 5 AND c < 10')")
Ejemplo n.º 5
0
 def test_render_modify_nullable(self):
     eq_ignore_whitespace(
         autogenerate._modify_col("sometable",
                                  "somecolumn",
                                  self.autogen_context,
                                  existing_type=Integer(),
                                  nullable=True),
         "op.alter_column('sometable', 'somecolumn', "
         "existing_type=sa.Integer(), nullable=True)")
Ejemplo n.º 6
0
 def test_render_modify_type(self):
     eq_ignore_whitespace(
         autogenerate._modify_col("sometable",
                                  "somecolumn",
                                  self.autogen_context,
                                  type_=CHAR(10),
                                  existing_type=CHAR(20)),
         "op.alter_column('sometable', 'somecolumn', "
         "existing_type=sa.CHAR(length=20), type_=sa.CHAR(length=10))")
Ejemplo n.º 7
0
 def test_render_modify_type(self):
     eq_ignore_whitespace(
         autogenerate._modify_col(
                     "sometable", "somecolumn",
                     self.autogen_context,
                     type_=CHAR(10), existing_type=CHAR(20)),
         "op.alter_column('sometable', 'somecolumn', "
             "existing_type=sa.CHAR(length=20), type_=sa.CHAR(length=10))"
     )
Ejemplo n.º 8
0
 def test_render_enum(self):
     eq_ignore_whitespace(
         autogenerate._repr_type("sa.",
                                 Enum("one", "two", "three", name="myenum"),
                                 self.autogen_context),
         "sa.Enum('one', 'two', 'three', name='myenum')")
     eq_ignore_whitespace(
         autogenerate._repr_type("sa.", Enum("one", "two", "three"),
                                 self.autogen_context),
         "sa.Enum('one', 'two', 'three')")
Ejemplo n.º 9
0
 def test_render_modify_nullable(self):
     eq_ignore_whitespace(
         autogenerate._modify_col(
                     "sometable", "somecolumn",
                     self.autogen_context,
                     existing_type=Integer(),
                     nullable=True),
         "op.alter_column('sometable', 'somecolumn', "
         "existing_type=sa.Integer(), nullable=True)"
     )
Ejemplo n.º 10
0
 def test_render_check_constraint_sqlexpr(self):
     c = column('c')
     five = literal_column('5')
     ten = literal_column('10')
     eq_ignore_whitespace(
         autogenerate._render_check_constraint(
             CheckConstraint(and_(c > five, c < ten)),
             self.autogen_context
         ),
         "sa.CheckConstraint('c > 5 AND c < 10')"
     )
Ejemplo n.º 11
0
 def test_render_enum(self):
     eq_ignore_whitespace(
         autogenerate._repr_type(
                     "sa.",
                     Enum("one", "two", "three", name="myenum"),
                     self.autogen_context),
         "sa.Enum('one', 'two', 'three', name='myenum')"
     )
     eq_ignore_whitespace(
         autogenerate._repr_type(
                     "sa.",
                     Enum("one", "two", "three"),
                     self.autogen_context),
         "sa.Enum('one', 'two', 'three')"
     )
Ejemplo n.º 12
0
 def test_render_table_w_fk_schema(self):
     m = MetaData()
     t = Table('test', m,
         Column('id', Integer, primary_key=True),
         Column('q', Integer, ForeignKey('foo.address.id')),
     )
     eq_ignore_whitespace(
         autogenerate._add_table(t, self.autogen_context),
         "op.create_table('test',"
         "sa.Column('id', sa.Integer(), nullable=False),"
         "sa.Column('q', sa.Integer(), nullable=True),"
         "sa.ForeignKeyConstraint(['q'], ['foo.address.id'], ),"
         "sa.PrimaryKeyConstraint('id')"
         ")"
     )
Ejemplo n.º 13
0
 def test_render_addtl_args(self):
     m = MetaData()
     t = Table('test', m,
         Column('id', Integer, primary_key=True),
         Column('q', Integer, ForeignKey('bar.address.id')),
         postgresql_arg1="some_arg", mysql_engine="InnoDB"
     )
     eq_ignore_whitespace(
         autogenerate._add_table(t, self.autogen_context),
         "op.create_table('test',"
         "sa.Column('id', sa.Integer(), nullable=False),"
         "sa.Column('q', sa.Integer(), nullable=True),"
         "sa.ForeignKeyConstraint(['q'], ['bar.address.id'], ),"
         "sa.PrimaryKeyConstraint('id'),"
         "mysql_engine='InnoDB',postgresql_arg1='some_arg')"
     )
Ejemplo n.º 14
0
    def test_render_fk_constraint_kwarg(self):
        m = MetaData()
        t1 = Table('t', m, Column('c', Integer))
        t2 = Table('t2', m, Column('c_rem', Integer))

        fk = ForeignKeyConstraint([t1.c.c], [t2.c.c_rem], onupdate="CASCADE")
        if not util.sqla_08:
            t1.append_constraint(fk)

        eq_ignore_whitespace(
            autogenerate._render_constraint(fk, self.autogen_context),
            "sa.ForeignKeyConstraint(['c'], ['t2.c_rem'], onupdate='CASCADE')"
        )

        fk = ForeignKeyConstraint([t1.c.c], [t2.c.c_rem], ondelete="CASCADE")
        if not util.sqla_08:
            t1.append_constraint(fk)

        eq_ignore_whitespace(
            autogenerate._render_constraint(fk, self.autogen_context),
            "sa.ForeignKeyConstraint(['c'], ['t2.c_rem'], ondelete='CASCADE')"
        )

        fk = ForeignKeyConstraint([t1.c.c], [t2.c.c_rem], deferrable=True)
        if not util.sqla_08:
            t1.append_constraint(fk)
        eq_ignore_whitespace(
            autogenerate._render_constraint(fk, self.autogen_context),
            "sa.ForeignKeyConstraint(['c'], ['t2.c_rem'], deferrable=True)"
        )

        fk = ForeignKeyConstraint([t1.c.c], [t2.c.c_rem], initially="XYZ")
        if not util.sqla_08:
            t1.append_constraint(fk)
        eq_ignore_whitespace(
            autogenerate._render_constraint(fk, self.autogen_context),
            "sa.ForeignKeyConstraint(['c'], ['t2.c_rem'], initially='XYZ')"
        )
Ejemplo n.º 15
0
 def test_render_check_constraint_literal(self):
     eq_ignore_whitespace(
         autogenerate._render_check_constraint(
             CheckConstraint("im a constraint"), self.autogen_context),
         "sa.CheckConstraint('im a constraint')")