mirror of
https://github.com/RPCS3/discord-bot.git
synced 2026-01-31 01:25:22 +01:00
66 lines
1.7 KiB
Python
66 lines
1.7 KiB
Python
from peewee import *
|
|
from playhouse.migrate import *
|
|
|
|
from bot_config import bot_admin_id
|
|
|
|
db = SqliteDatabase('bot.db')
|
|
|
|
|
|
class BaseModel(Model):
|
|
class Meta:
|
|
database = db
|
|
|
|
|
|
class Moderator(BaseModel):
|
|
discord_id = IntegerField(unique=True)
|
|
sudoer = BooleanField(default=False)
|
|
|
|
|
|
class PiracyString(BaseModel):
|
|
string = CharField(unique=True)
|
|
|
|
|
|
class Warning(BaseModel):
|
|
discord_id = IntegerField(index=True)
|
|
issuer_id = IntegerField(default=0)
|
|
reason = TextField()
|
|
full_reason = TextField()
|
|
|
|
|
|
class Explanation(BaseModel):
|
|
keyword = TextField(unique=True)
|
|
text = TextField()
|
|
|
|
def init():
|
|
with db:
|
|
with db.atomic() as tx:
|
|
db.get_tables()
|
|
db.create_tables([Moderator, PiracyString, Warning, Explanation])
|
|
try:
|
|
Moderator.get(discord_id=bot_admin_id)
|
|
except DoesNotExist:
|
|
Moderator(discord_id=bot_admin_id, sudoer=True).save()
|
|
tx.commit()
|
|
|
|
migrator = SqliteMigrator(db)
|
|
try:
|
|
with db.atomic() as tx:
|
|
migrate(
|
|
migrator.add_column('warning', 'issuer_id', IntegerField(default=0)),
|
|
)
|
|
tx.commit()
|
|
print("Updated [warning] columns")
|
|
except Exception as e:
|
|
print(str(e))
|
|
tx.rollback()
|
|
try:
|
|
with db.atomic() as tx:
|
|
migrate(
|
|
migrator.add_index('warning', ('discord_id',), False),
|
|
)
|
|
tx.commit()
|
|
print("Updated [warning] indices")
|
|
except Exception as e:
|
|
print(str(e))
|
|
tx.rollback()
|