mirror of
https://github.com/tcsenpai/swingmusic.git
synced 2025-06-07 03:35:35 +00:00
39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
"""
|
|
Pre-init migrations are executed before the database is created.
|
|
Useful when you need to move files or folders before the database is created.
|
|
|
|
PLEASE NOTE: OLDER MIGRATIONS CAN NEVER BE DELETED.
|
|
ONLY MODIFY OLD MIGRATIONS FOR BUG FIXES OR ENHANCEMENTS ONLY.
|
|
[TRY NOT TO MODIFY BEHAVIOR, UNLESS YOU KNOW WHAT YOU'RE DOING].
|
|
"""
|
|
from sqlite3 import OperationalError
|
|
|
|
from app.db.sqlite.migrations import MigrationManager
|
|
from app.logger import log
|
|
|
|
from .move_to_xdg_folder import MoveToXdgFolder
|
|
|
|
all_preinits = [MoveToXdgFolder]
|
|
|
|
|
|
def run_preinit_migrations():
|
|
"""
|
|
Runs all pre-init migrations.
|
|
"""
|
|
try:
|
|
userdb_version = MigrationManager.get_preinit_version()
|
|
except OperationalError:
|
|
userdb_version = 0
|
|
|
|
for migration in all_preinits:
|
|
if migration.version > userdb_version:
|
|
log.warn("Running new pre-init migration: %s", migration.name)
|
|
migration.migrate()
|
|
|
|
|
|
def set_preinit_migration_versions():
|
|
"""
|
|
Sets the migration versions.
|
|
"""
|
|
MigrationManager.set_preinit_version(all_preinits[-1].version)
|