from datetime import datetime import peewee database = peewee.SqliteDatabase('voice_cache.sqlite') class BaseModel(peewee.Model): class Meta: database = database class Prefix(BaseModel): server_id = peewee.BigIntegerField(primary_key=True) prefix_char = peewee.CharField(max_length=10) class ServerSpeaker(BaseModel): server_id = peewee.BigIntegerField(primary_key=True) speaker = peewee.CharField() class UserServerSpeaker(peewee.Model): """ Holds the data about custom speakers for users in per server way """ server_id = peewee.BigIntegerField() user_id = peewee.BigIntegerField() speaker = peewee.CharField() class Meta: database = database primary_key = peewee.CompositeKey('server_id', 'user_id') class SynthesisErrors(peewee.Model): speaker = peewee.CharField() text = peewee.TextField() timestamp = peewee.DateTimeField(default=datetime.now) class Meta: database = database primary_key = peewee.CompositeKey('speaker', 'text') class SoundCache(peewee.Model): text = peewee.TextField() speaker = peewee.CharField() audio = peewee.BlobField() usages = peewee.IntegerField(default=1) class Meta: database = database primary_key = peewee.CompositeKey('speaker', 'text') Prefix.create_table() ServerSpeaker.create_table() SynthesisErrors.create_table() SoundCache.create_table() UserServerSpeaker.create_table()