Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_uq_added_schema(self):
m1 = MetaData()
m2 = MetaData()
Table("add_uq", m1, Column("x", String(50)), schema="test_schema")
Table(
"add_uq",
m2,
Column("x", String(50)),
UniqueConstraint("x", name="ix_1"),
schema="test_schema",
)
diffs = self._fixture(m1, m2, include_schemas=True)
eq_(diffs[0][0], "add_constraint")
eq_(diffs[0][1].name, "ix_1")
def test_config_explicit_version_table_name(self):
context = self.make_one(
dialect_name="sqlite", opts={"version_table": "explicit"}
)
eq_(context._version.name, "explicit")
eq_(context._version.primary_key.name, "explicit_pkc")
rev.module.upgrade_engine2()
eq_(
op_mock.mock_calls[-1],
mock.call.create_table("e2t1", mock.ANY),
)
rev.module.upgrade_engine3()
eq_(
op_mock.mock_calls[-1],
mock.call.create_table("e3t1", mock.ANY),
)
rev.module.downgrade_engine1()
eq_(op_mock.mock_calls[-1], mock.call.drop_table("e1t1"))
rev.module.downgrade_engine2()
eq_(op_mock.mock_calls[-1], mock.call.drop_table("e2t1"))
rev.module.downgrade_engine3()
eq_(op_mock.mock_calls[-1], mock.call.drop_table("e3t1"))
eq_(diffs[1][0], "remove_table")
eq_(diffs[1][1].name, "extra")
eq_(diffs[2][0], "add_column")
eq_(diffs[2][1], "test_schema")
eq_(diffs[2][2], "address")
eq_(diffs[2][3], metadata.tables["test_schema.address"].c.street)
eq_(diffs[3][0], "add_constraint")
eq_(diffs[3][1].name, "uq_email")
eq_(diffs[4][0], "add_column")
eq_(diffs[4][1], "test_schema")
eq_(diffs[4][2], "order")
eq_(diffs[4][3], metadata.tables["test_schema.order"].c.user_id)
eq_(diffs[5][0][0], "modify_nullable")
eq_(diffs[5][0][5], False)
eq_(diffs[5][0][6], True)
def test_get_heads_offline(self):
version_table.create(self.connection)
context = self.make_one(
connection=self.connection,
opts={
"starting_rev": "q",
"version_table": "version_table",
"as_sql": True,
},
)
eq_(context.get_current_heads(), ("q",))
Column("a1", String(10), server_default="x"),
)
Table(
"user",
m2,
Column("id", Integer, primary_key=True),
Column("name", String(50), nullable=False),
Column("a1", String(10), server_default="x"),
UniqueConstraint("name", name="uq_user_name"),
)
diffs = self._fixture(m1, m2)
if self.reports_unique_constraints:
eq_(diffs[0][0], "add_constraint")
eq_(diffs[0][1].name, "uq_user_name")
eq_(diffs[1][0], "remove_index")
eq_(diffs[1][1].name, "ix_user_name")
else:
eq_(diffs[0][0], "remove_index")
eq_(diffs[0][1].name, "ix_user_name")
def test_config_file_env_variable_c_override(self):
os.environ["ALEMBIC_CONFIG"] = "/foo/bar/bat.conf"
cl = config.CommandLine()
with mock.patch.object(cl, "run_cmd") as run_cmd:
cl.main(argv=["-c", "myconf.conf", "list_templates"])
cfg = run_cmd.mock_calls[0][1][0]
eq_(cfg.config_file_name, "myconf.conf")
with op.batch_alter_table('user', schema=None) as batch_op:
batch_op.alter_column('a1',
existing_type=sa.TEXT(),
server_default='x',
existing_nullable=True)
batch_op.alter_column('name',
existing_type=sa.VARCHAR(length=50),
nullable=False)
batch_op.drop_index('pw_idx')
batch_op.drop_column('pw')
# ### end Alembic commands ###""", # noqa,
)
eq_(
re.sub(r"u'", "'", template_args["downgrades"]),
"""# ### commands auto generated by Alembic - please adjust! ###
with op.batch_alter_table('user', schema=None) as batch_op:
def test_variant_no_issue(self):
uo = ops.UpgradeOps(ops=[])
autogenerate._produce_net_changes(self.autogen_context, uo)
diffs = uo.as_diffs()
eq_(diffs, [])
def test_config_no_file_section_option(self):
cfg = config.Config()
cfg.set_section_option("foo", "url", "postgresql://foo/bar")
eq_(cfg.get_section_option("foo", "url"), "postgresql://foo/bar")
cfg.set_section_option("foo", "echo", "True")
eq_(cfg.get_section_option("foo", "echo"), "True")