from peewee import ( AutoField, DateField, IntegerField, IntegrityError, Model, MySQLDatabase, SqliteDatabase, ) from config import conf backend = conf["db"].get("backend", None) if backend == "sqlite": # SQLite database db = SqliteDatabase(conf["sqlite"].get("filename", "sqlite.db")) elif backend == "mysql": db = MySQLDatabase( conf["mysql"].get("database"), user=conf["mysql"].get("user"), password=conf["mysql"].get("password"), host=conf["mysql"].get("host", "localhost"), port=conf["mysql"].getint("port", 3306), ) else: db = None class BaseModel(Model): class Meta: database = db class Price(BaseModel): id = AutoField() date = DateField(unique=True) price = IntegerField() def init(): db.connect() db.create_tables([Price])