1.8 Исправление ошибок с БД

This commit is contained in:
Verum
2025-03-02 23:01:16 +07:00
parent 058e71d293
commit aaeac97680
2 changed files with 102 additions and 2 deletions

View File

@@ -52,7 +52,19 @@ async def create_user_db(bd_name: str = BotVar.bd_names):
FOREIGN KEY (user_id) REFERENCES users (user_id) ON DELETE SET NULL
);''')
characters = [
# Таблица персонажей Хонкай
cursor.execute('''
CREATE TABLE IF NOT EXISTS characters_hsr (
id INTEGER PRIMARY KEY AUTOINCREMENT,
region TEXT NOT NULL,
name TEXT NOT NULL,
status TEXT DEFAULT 'Свободно',
user_id INTEGER DEFAULT NULL,
comment TEXT DEFAULT '',
FOREIGN KEY (user_id) REFERENCES users (user_id) ON DELETE SET NULL
);''')
characters_genshin = [
# Мондштадт
("Мондштадт", "Венти", "Свободно", ""),
("Мондштадт", "Кэйа", "Свободно", ""),
@@ -172,12 +184,100 @@ async def create_user_db(bd_name: str = BotVar.bd_names):
("Иные персонажи", "Дайнслейф", "Свободно", ""),
]
characters_hsr = [
# Ярило-6
("Ярило-6", "Броня", "Свободно", ""),
("Ярило-6", "Гепард", "Свободно", ""),
("Ярило-6", "Зеле", "Свободно", ""),
("Ярило-6", "Клара", "Свободно", ""),
("Ярило-6", "Лука", "Свободно", ""),
("Ярило-6", "Наташа", "Свободно", ""),
("Ярило-6", "Пела", "Свободно", ""),
("Ярило-6", "Рысь", "Свободно", ""),
("Ярило-6", "Сампо", "Свободно", ""),
("Ярило-6", "Сервал", "Свободно", ""),
("Ярило-6", "Хук", "Свободно", ""),
# Станция «Герта»
("Станция «Герта»", "Арлан", "Свободно", ""),
("Станция «Герта»", "Аста", "Свободно", ""),
("Станция «Герта»", "Великая Герта", "Свободно", ""),
("Станция «Герта»", "Кукла «Герта»", "Свободно", ""),
("Станция «Герта»", "Жуань Мэй", "Свободно", ""),
# Пенакония
("Пенакония", "Авантюрин", "Свободно", ""),
("Пенакония", "Ахерон", "Свободно", ""),
("Пенакония", "Галлахер", "Свободно", ""),
("Пенакония", "Зарянка", "Свободно", ""),
("Пенакония", "Миша", "Свободно", ""),
("Пенакония", "Мистер Река", "Свободно", ""),
("Пенакония", "Раппа", "Свободно", ""),
("Пенакония", "Чёрный Лебедь", "Свободно", ""),
("Пенакония", "Яшма", "Свободно", ""),
("Пенакония", "Воскресенье", "Свободно", ""),
# Звёздный Экспресс
("Звёздный Экспресс", "Вельт", "Свободно", ""),
("Звёздный Экспресс", "Келус", "Свободно", ""),
("Звёздный Экспресс", "Стелла", "Свободно", ""),
("Звёздный Экспресс", "Дань Хэн", "Свободно", ""),
("Звёздный Экспресс", "Март 7", "Свободно", ""),
("Звёздный Экспресс", "Химеко", "Свободно", ""),
("Звёздный Экспресс", "Пом Пом", "Свободно", ""),
# Галактика
("Галактика", "Аргенти", "Свободно", ""),
("Галактика", "Блэйд", "Свободно", ""),
("Галактика", "Бутхилл", "Свободно", ""),
("Галактика", "Доктор Рацио", "Свободно", ""),
("Галактика", "Кафка", "Свободно", ""),
("Галактика", "Светлячок", "Свободно", ""),
("Галактика", "Искорка", "Свободно", ""),
("Галактика", "Серебряный Волк", "Свободно", ""),
("Галактика", "Топаз", "Свободно", ""),
# Амфореус
("Амфореус", "Аглая", "Свободно", ""),
("Амфореус", "Мидей", "Свободно", ""),
("Амфореус", "Трибби", "Свободно", ""),
# Альянс Сяньчжоу
("Альянс Сяньчжоу", "Байлу", "Свободно", ""),
("Альянс Сяньчжоу", "Гуйнайфей", "Свободно", ""),
("Альянс Сяньчжоу", "Линша", "Свободно", ""),
("Альянс Сяньчжоу", "Лоча", "Свободно", ""),
("Альянс Сяньчжоу", "Моцзэ", "Свободно", ""),
("Альянс Сяньчжоу", "Пожиратель Луны", "Свободно", ""),
("Альянс Сяньчжоу", "Сушан", "Свободно", ""),
("Альянс Сяньчжоу", "Сюзи", "Свободно", ""),
("Альянс Сяньчжоу", "Фуга", "Свободно", ""),
("Альянс Сяньчжоу", "Фэйсяо", "Свободно", ""),
("Альянс Сяньчжоу", "Ханья", "Свободно", ""),
("Альянс Сяньчжоу", "Хохо", "Свободно", ""),
("Альянс Сяньчжоу", "Цзин Юань", "Свободно", ""),
("Альянс Сяньчжоу", "Цзиннлю", "Свободно", ""),
("Альянс Сяньчжоу", "Цзяоцю", "Свободно", ""),
("Альянс Сяньчжоу", "Цинцюэ", "Свободно", ""),
("Альянс Сяньчжоу", "Юйкун", "Свободно", ""),
("Альянс Сяньчжоу", "Юньли", "Свободно", ""),
("Альянс Сяньчжоу", "Яньцин", "Свободно", ""),
]
# Проверяем, пуста ли таблица characters
cursor.execute("SELECT COUNT(*) FROM characters;")
if cursor.fetchone()[0] == 0:
cursor.executemany('''
INSERT INTO characters (region, name, status, comment)
VALUES (?, ?, ?, ?);
''', characters)
''', characters_genshin)
# Проверяем, пуста ли таблица characters_hsr
cursor.execute("SELECT COUNT(*) FROM characters_hsr;")
if cursor.fetchone()[0] == 0:
cursor.executemany('''
INSERT INTO characters_hsr (region, name, status, comment)
VALUES (?, ?, ?, ?);
''', characters_hsr)
db.commit()