2022-06-13 11:17:56 +00:00
|
|
|
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-06-13 11:17:56 +00:00
|
|
|
|
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()
|