from peewee import * from playhouse.migrate import * db = SqliteDatabase(None) migrator = SqliteMigrator(db) db_schema = "1" class BaseModel(Model): class Meta: database = db class System(BaseModel): key = CharField(unique=True) value = CharField() class Mailbox(BaseModel): user = CharField() imap_host = CharField() imap_user = CharField() imap_pass = CharField() last_check = DateTimeField(null=True) class Events(BaseModel): user = CharField() service = CharField() event_id = CharField() class Notifier(BaseModel): service = CharField() client_id = CharField(null=True) secret = CharField(null=True) url = CharField(null=True) class Services(BaseModel): user = CharField() service = CharField() target = CharField() enabled = CharField(default=True) def create_tables(): tables = [System, Mailbox, Events, Notifier] with db: if not db.table_exists(System._meta.table_name): db.create_tables(tables)