diff --git a/ArknightsUID/arknightsuid_start/__init__.py b/ArknightsUID/arknightsuid_start/__init__.py index 701ffb8..871b0d5 100644 --- a/ArknightsUID/arknightsuid_start/__init__.py +++ b/ArknightsUID/arknightsuid_start/__init__.py @@ -4,11 +4,13 @@ import threading from loguru import logger from ..arknightsuid_resource import startup +from ..utils.database.startup import ark_adapter async def all_start(): try: await startup() + await ark_adapter() except Exception as e: logger.exception(e) diff --git a/ArknightsUID/utils/database/startup.py b/ArknightsUID/utils/database/startup.py new file mode 100644 index 0000000..f59f285 --- /dev/null +++ b/ArknightsUID/utils/database/startup.py @@ -0,0 +1,20 @@ +from gsuid_core.server import on_core_start +from gsuid_core.utils.database.base_models import async_maker +from sqlalchemy.sql import text + +exec_list = [ + 'ALTER TABLE arknightspush ADD COLUMN version_push BOOLEAN DEFAULT FALSE;', + 'ALTER TABLE arknightspush ADD COLUMN version_is_push BOOLEAN DEFAULT FALSE;', + 'ALTER TABLE arknightsuser ADD COLUMN token TEXT;', +] + + +@on_core_start +async def ark_adapter(): + async with async_maker() as session: + for _t in exec_list: + try: + await session.execute(text(_t)) + await session.commit() + except: # noqa: E722 + pass