Future Ideas¶
Generated DDL¶
Is it worth it to do simple table definitions with dataclasses?
@dataclass
class Teacher:
id: int = field(metadata=PRIMARY_KEY)
name: str
classroom: str = field(metadata=UNIQUE)
@dataclass
class Student:
id: int = field(metadata=PRIMARY_KEY)
name: str
teacher_id: int = field(metadata=references(Teacher.id))
It could offer the nice default of a “strict” table.
Query Building¶
If we have the above, how easy would it be to get something like sqlalchemy’s query building without it getting too complex?
User Functions¶
Make it check how many args it takes so you can’t accidentally give the wrong answer.
Optionally register user functions for almost every string method, because it’ll have nicer semantics / familiarity than sqlite’s functions.
Transaction Decorator¶
Ensure that a function/method holds open a savepoint for the whole body. Nice to reduce additional nesting– if it’s a method and not a function, you’re already 3 levels deep before writing any db code!
Real-World Usecase¶
We need a nice example app!