42 lines
1.7 KiB
Python
42 lines
1.7 KiB
Python
from tortoise import Tortoise
|
|
|
|
from aerich.ddl.mysql import MysqlDDL
|
|
from aerich.ddl.postgres import PostgresDDL
|
|
from aerich.ddl.sqlite import SqliteDDL
|
|
from aerich.migrate import Migrate
|
|
|
|
|
|
def test_migrate():
|
|
apps = Tortoise.apps
|
|
models = apps.get("models")
|
|
diff_models = apps.get("diff_models")
|
|
Migrate.diff_models(diff_models, models)
|
|
Migrate.diff_models(models, diff_models, False)
|
|
if isinstance(Migrate.ddl, MysqlDDL):
|
|
assert Migrate.upgrade_operators == [
|
|
"ALTER TABLE category ADD `name` VARCHAR(200) NOT NULL",
|
|
"ALTER TABLE user ADD UNIQUE INDEX uid_user_usernam_9987ab (`username`)",
|
|
]
|
|
assert Migrate.downgrade_operators == [
|
|
"ALTER TABLE category DROP COLUMN name",
|
|
"ALTER TABLE user DROP INDEX uid_user_usernam_9987ab",
|
|
]
|
|
elif isinstance(Migrate.ddl, SqliteDDL):
|
|
assert Migrate.upgrade_operators == [
|
|
'ALTER TABLE category ADD "name" VARCHAR(200) NOT NULL',
|
|
'ALTER TABLE user ADD UNIQUE INDEX uid_user_usernam_9987ab ("username")',
|
|
]
|
|
assert Migrate.downgrade_operators == [
|
|
"ALTER TABLE category DROP COLUMN name",
|
|
"ALTER TABLE user DROP INDEX uid_user_usernam_9987ab",
|
|
]
|
|
elif isinstance(Migrate.ddl, PostgresDDL):
|
|
assert Migrate.upgrade_operators == [
|
|
'ALTER TABLE category ADD "name" VARCHAR(200) NOT NULL',
|
|
'ALTER TABLE user ADD UNIQUE INDEX uid_user_usernam_9987ab ("username")',
|
|
]
|
|
assert Migrate.downgrade_operators == [
|
|
"ALTER TABLE category DROP COLUMN name",
|
|
"ALTER TABLE user DROP INDEX uid_user_usernam_9987ab",
|
|
]
|