sqlite_orm is a wonderful library but there are still features that are not implemented. Here you can find a list of them:
FOREIGN KEY- sync_schema fk comparison and ability of two tables to have fk to each other (PRAGMA foreign_key_list(%table_name%);may be useful)- rest of core functions(https://sqlite.org/lang_corefunc.html)
ATTACH- blob incremental I/O https://sqlite.org/c3ref/blob_open.html
- CREATE VIEW and other view operations https://sqlite.org/lang_createview.html
- triggers
- query static check for correct order (e.g.
GROUP BYafterWHERE) WINDOWUPSERThttps://www.sqlite.org/lang_UPSERT.htmlSAVEPOINThttps://www.sqlite.org/lang_savepoint.html- add
static_assertin crudget*functions in case user passeswhere_tinstead of id to make compilation error more clear (example fnc12#485) - generated columns https://www.sqlite.org/gencol.html
- named constraints: constraint can have name
CREATE TABLE heroes(id INTEGER CONSTRAINT pk PRIMARY KEY) FILTERclause https://sqlite.org/lang_aggfunc.html#aggfilter- scalar math functions https://sqlite.org/lang_mathfunc.html
- improve DROP COLUMN in
sync_schemahttps://sqlite.org/lang_altertable.html#altertabdropcol UPDATE FROMsupport https://sqlite.org/lang_update.html#upfromiif()function https://sqlite.org/lang_corefunc.html#iif- add strong typed collate syntax (more info here)
- raw
INSERT:storage.insert_into<User>(&User::id, values(5));orstorage.insert_into<User>(columns(&User::id, &User::name), values(5, "Puff Diddy"));orstorage.insert_into<User>(columns(), default_values());
Please feel free to add any feature that isn't listed here and not implemented yet.