class CommandAliases(db.Table, table_name='command_aliases'): id = db.Column(db.Serial, primary_key=True) guild_id = db.Column(db.BigInt) alias = db.Column(db.Text) command = db.Column(db.Text) command_alias_index = db.Index(guild_id, alias, unique=True)
class StarboardEntry(db.Table, table_name='starboard_entries'): id = db.Column(db.Serial, primary_key=True) bot_message_id = db.Column(db.BigInt, nullable=True) message_id = db.Column(db.BigInt, unique=True) channel_id = db.Column(db.BigInt) author_id = db.Column(db.BigInt) guild_id = db.ForeignKey(Starboard.id, type=db.BigInt) # There is some fuckery with ForeignKeys that I don't want to fix rn. They must be referenced as strings. starboard_entries_index = db.Index(bot_message_id, message_id, 'guild_id')
class ModLogEntry(db.Table, table_name='modlog'): id = db.Column(db.Serial, primary_key=True) channel_id = db.Column(db.BigInt) message_id = db.Column(db.BigInt) guild_id = db.Column(db.BigInt) action = db.Column(db.String(length=16)) mod_id = db.Column(db.BigInt) reason = db.Column(db.Text) extra = db.Column(db.Text) modlog_guild_id_index = db.Index(guild_id)
class TagTable(db.Table, table_name='tags'): guild_id = db.Column(db.BigInt) name = db.Column(db.Text) content = db.Column(db.Text) is_alias = db.Column(db.Boolean) # meta data created_at = db.Column(db.Timestamp, default="now() at time zone 'utc'") created_by = db.Column(db.BigInt) uses = db.Column(db.Integer, default=0) tags_index = db.Index('LOWER(name)', guild_id) __create_extra__ = ['PRIMARY KEY(name, guild_id)']
class Ignored(db.Table, table_name='plonks'): guild_id = db.Column(db.BigInt) entity_id = db.Column(db.BigInt) plonks_index = db.Index(guild_id, entity_id) __create_extra__ = ['PRIMARY KEY (guild_id, entity_id)']
class Starrers(db.Table): id = db.Column(db.Serial, primary_key=True) author_id = db.Column(db.BigInt) entry_id = db.ForeignKey(StarboardEntry.id, type=db.BigInt) starrers_index = db.Index(author_id, 'entry_id', unique=True)