Archived
1
0
Fork 0
This repository has been archived on 2024-04-26. You can view files and clone it, but cannot push or open issues or pull requests.
akari-bot/database/update.py

51 lines
1.6 KiB
Python
Raw Normal View History

import ujson as json
2022-08-26 18:51:56 +00:00
from database import BotDBUtil
2022-07-31 08:27:58 +00:00
from database.orm import Session
2022-08-26 18:51:56 +00:00
from database.tables import DBVersion, TargetInfo
2022-08-26 18:51:56 +00:00
2022-08-27 07:38:13 +00:00
def update_database():
engine = Session.engine
session = Session.session
version = session.query(DBVersion).first()
value = int(version.value)
2023-04-14 13:15:04 +00:00
if value < 2:
2022-08-27 07:38:13 +00:00
TargetInfo.__table__.drop(engine)
TargetInfo.__table__.create(engine)
q = session.execute("SELECT * FROM enabledModules")
for v in q.fetchall():
data = BotDBUtil.TargetInfo(v[0]).init()
data.enabledModules = v[1]
session.commit()
q = session.execute("SELECT * FROM targetOptions")
for v in q.fetchall():
data = BotDBUtil.TargetInfo(v[0]).init()
data.options = v[1]
session.commit()
q = session.execute("SELECT * FROM mutelist")
for v in q.fetchall():
data = BotDBUtil.TargetInfo(v[0]).init()
data.muted = True
session.commit()
q = session.execute("SELECT * FROM targetadmin")
for v in q.fetchall():
data = BotDBUtil.TargetInfo(v[2]).init()
custom_admins = json.loads(data.custom_admins)
custom_admins.append(v[1])
data.custom_admins = json.dumps(custom_admins)
session.commit()
session.execute("DROP TABLE IF EXISTS enabledModules, targetOptions, mutelist, targetadmin")
version.value = '2'
2022-08-26 18:51:56 +00:00
session.commit()
2023-04-14 13:15:04 +00:00
if value < 3:
session.execute("ALTER TABLE TargetInfo ADD column petal INTEGER DEFAULT 0")
version.value = '3'
session.commit()