58 lines
1.9 KiB
Python
58 lines
1.9 KiB
Python
import os
|
|
from helper_bot.utils.base_dependency_factory import BaseDependencyFactory
|
|
|
|
bdf = BaseDependencyFactory()
|
|
BotDB = bdf.get_db()
|
|
|
|
|
|
def get_filename():
|
|
"""Возвращает имя файла без расширения."""
|
|
filename = os.path.basename(__file__)
|
|
filename = os.path.splitext(filename)[0]
|
|
return filename
|
|
|
|
|
|
def main():
|
|
# Проверка версии миграций
|
|
current_version = BotDB.get_current_version() # Добавьте функцию для получения версии
|
|
|
|
# Выполнение миграций и проверка последней версии
|
|
if current_version < 1:
|
|
# Скрипты миграции
|
|
create_table_sql_1 = """
|
|
CREATE TABLE IF NOT EXISTS "admins" (
|
|
user_id INTEGER NOT NULL,
|
|
"role" TEXT
|
|
);
|
|
"""
|
|
create_table_sql_2 = """CREATE TABLE IF NOT EXISTS "blacklist"
|
|
(
|
|
"user_id" INTEGER NOT NULL UNIQUE,
|
|
"user_name" INTEGER,
|
|
"message_for_user" INTEGER,
|
|
"date_to_unban" INTEGER
|
|
);
|
|
"""
|
|
create_table_sql_3 = """
|
|
CREATE TABLE IF NOT EXISTS user_messages (
|
|
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
message_text TEXT,
|
|
user_id INTEGER,
|
|
message_id INTEGER NOT NULL,
|
|
date TEXT
|
|
);
|
|
"""
|
|
# Применение миграции
|
|
BotDB.create_table(create_table_sql_1)
|
|
BotDB.create_table(create_table_sql_2)
|
|
BotDB.create_table(create_table_sql_3)
|
|
BotDB.add_admin(842766148, 'creator')
|
|
BotDB.add_admin(920057022, 'admin')
|
|
filename = get_filename()
|
|
|
|
BotDB.update_version(1, filename)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|