-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdatabase.py
More file actions
39 lines (24 loc) · 894 Bytes
/
database.py
File metadata and controls
39 lines (24 loc) · 894 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import os
from litestar.dto import DTOConfig
from piccolo.engine.sqlite import SQLiteEngine
from piccolo.table import Table, create_db_tables
from piccolo.columns import Varchar
from litestar.contrib.piccolo import PiccoloDTO
import secret_config
SQLITE_FILE_NAME = secret_config.SQLITE_FILE_NAME
DB_FILE_DELETE_IF_EXISTS = True # recreate db file
if DB_FILE_DELETE_IF_EXISTS and os.path.isfile(SQLITE_FILE_NAME):
os.remove(SQLITE_FILE_NAME)
DB = SQLiteEngine(path=SQLITE_FILE_NAME)
class Text(Table, db=DB):
text = Varchar()
class Post(Table, db=DB):
text = Varchar()
class User(Table, db=DB):
username = Varchar()
password = Varchar()
# https://docs.litestar.dev/2/usage/dto/1-abstract-dto.html#dto-data
# https://docs.litestar.dev/latest/usage/databases/piccolo.html
# UserDTO = PiccoloDTO
PostDTO = PiccoloDTO[Post]
class UserDTO(PiccoloDTO[User]): ...