diff options
Diffstat (limited to 'api/v1/db.py')
-rw-r--r-- | api/v1/db.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/api/v1/db.py b/api/v1/db.py new file mode 100644 index 0000000..3d226c5 --- /dev/null +++ b/api/v1/db.py @@ -0,0 +1,35 @@ +from peewee import SqliteDatabase, ForeignKeyField, CharField, Model, IntegerField + +db = SqliteDatabase('datapackmanager.db') + + +class BaseModel(Model): + class Meta: + database = db + + +class User(BaseModel): + name = CharField() + id = IntegerField(primary_key=True) + + +class Category(BaseModel): + name = CharField() + id = IntegerField(primary_key=True) + + +class DataPack(BaseModel): + id = IntegerField(primary_key=True) + name = CharField() + description = CharField(max_length=10000) + category = ForeignKeyField(Category) + author = ForeignKeyField(User) + + +class Version(BaseModel): + name = CharField() + datapack = ForeignKeyField(DataPack) + + +db.create_tables([DataPack, Category, Version, User]) +__all__ = ('DataPack', 'Category', 'Version', 'db') |