nyx-bot/nyx_bot/migrations.py
2022-11-01 17:51:13 +08:00

22 lines
705 B
Python

# Used for migrations
from peewee import PostgresqlDatabase, SqliteDatabase
from playhouse.migrate import PostgresqlMigrator, SqliteMigrator, migrate
from nyx_bot.storage import DatabaseVersion, UserTag
def migrate_db(db):
if isinstance(db, SqliteDatabase):
migrator = SqliteMigrator(db)
elif isinstance(db, PostgresqlDatabase):
migrator = PostgresqlMigrator(db)
version_item = DatabaseVersion.get_or_none()
if version_item is None:
version_item = DatabaseVersion()
version_item.version = 1
if version_item.version == 1:
migrate(migrator.add_column("usertag", "locked", UserTag.locked))
version_item.version = 2
version_item.save()