from alembic import util
from alembic.testing import assert_raises_message
from alembic.testing import combinations
-from alembic.testing import config
from alembic.testing import eq_
from alembic.testing import expect_warnings
from alembic.testing import fixture
lambda: Computed("foo * 5"),
),
)
- @config.requirements.computed_columns
def test_alter_column_computed_not_supported(self, sd, esd):
op_fixture("mssql")
assert_raises_message(
existing_server_default=esd(),
)
- @config.requirements.identity_columns
@combinations(
({},),
(dict(always=True),),
lambda: Identity(),
),
)
- @config.requirements.identity_columns
def test_alter_column_identity_add_not_supported(self, sd, esd):
op_fixture("mssql")
assert_raises_message(
"REFERENCES t2 (bat, hoho) INITIALLY deferred"
)
- @config.requirements.foreign_key_match
def test_add_foreign_key_match(self):
context = op_fixture()
op.create_foreign_key(
op.drop_index("ik_test", table_name="t1")
context.assert_("DROP INDEX ik_test ON t1")
- @config.requirements.comments
def test_create_table_comment_op(self):
context = op_fixture()
context.assert_("COMMENT ON TABLE some_table IS 'table comment'")
- @config.requirements.comments
def test_drop_table_comment_op(self):
context = op_fixture()
from alembic import op
from alembic.testing import assert_raises_message
from alembic.testing import combinations
-from alembic.testing import config
from alembic.testing import eq_
from alembic.testing import is_true
from alembic.testing.env import _no_sql_testing_config
)
context.assert_("ALTER TABLE t1 ADD c1 INTEGER DEFAULT '12' NOT NULL")
- @config.requirements.comments
def test_add_column_with_comment(self):
context = op_fixture("oracle")
op.add_column(
"COMMENT ON COLUMN t1.c1 IS 'c1 comment'",
)
- @config.requirements.computed_columns
def test_add_column_computed(self):
context = op_fixture("oracle")
op.add_column(
lambda: Computed("foo * 5"),
),
)
- @config.requirements.computed_columns
def test_alter_column_computed_not_supported(self, sd, esd):
op_fixture("oracle")
assert_raises_message(
"ALTER TABLE t RENAME COLUMN c TO c2",
)
- @config.requirements.comments
def test_create_table_with_column_comments(self):
context = op_fixture("oracle")
op.create_table(
op.drop_table_comment("t2", existing_comment="t2 table", schema="foo")
context.assert_("COMMENT ON TABLE foo.t2 IS NULL")
- @config.requirements.computed_columns
def test_add_column_computed(self):
context = op_fixture("postgresql")
op.add_column(
lambda: Computed("foo * 5"),
),
)
- @config.requirements.computed_columns
def test_alter_column_computed_not_supported(self, sd, esd):
op_fixture("postgresql")
assert_raises_message(
existing_server_default=esd(),
)
- @config.requirements.identity_columns
@combinations(
({}, None),
(dict(always=True), None),
"INTEGER GENERATED %s AS IDENTITY%s" % (qualification, options)
)
- @config.requirements.identity_columns
@combinations(
({}, None),
(dict(always=True), None),
"GENERATED %s AS IDENTITY%s" % (qualification, options)
)
- @config.requirements.identity_columns
def test_remove_identity_from_column(self):
context = op_fixture("postgresql")
op.alter_column(
"ALTER TABLE t1 ALTER COLUMN some_column DROP IDENTITY"
)
- @config.requirements.identity_columns
@combinations(
({}, dict(always=True), "SET GENERATED ALWAYS"),
(
"sometable",
)
- @config.requirements.comments
def test_create_table_with_comment_ignored(self):
context = op_fixture("sqlite")
op.create_table(
"c2 INTEGER, PRIMARY KEY (c1))"
)
- @config.requirements.comments
def test_add_column_with_comment_ignored(self):
context = op_fixture("sqlite")
op.add_column("t1", Column("c1", Integer, comment="c1 comment"))