Files
gas-stack/doc/TODO.txt
~wispem-wantex 12fc338947
Some checks failed
CI / build-docker (push) Successful in 5s
CI / build-docker-bootstrap (push) Has been skipped
CI / release-test (push) Failing after 7s
doc: add TODO items
2026-10-24 19:23:41 -07:00

53 lines
2.0 KiB
Plaintext

TODO: soft-deletion
- GetXyzByID should include `ErrItemIsDeleted` if item is soft-deleted
IDEA: migrations-table
- Store migrations in a table. This makes the schema more self-documenting.
- Possible schema: name, sql_up, sql_down, hash (computed from those fields plus previous migration hash)
- or just rowid instead of hash? Migration sequence should be immutable after publishing, so there should never be "conflicts"
TODO: language-server-for-TODO.txt
TODO: auto-migration-checker
- Use `pkg/schema` to test whether a base schema plus a migration equals a new schema
TODO: codegen SaveXyz update path doesn't check foreign keys
- Insert path has FK error handling, but the update path wraps everything in Must
- An update that violates an FK constraint will panic instead of returning an error
TODO: generated test file inclues global test DB setup, which is wrong
TODO: join-tables
- handle codegen for without rowid tables properly
- add "get all X for Y"
- Example: `chat_pinned_messages`
TODO: consider CreateDB and CreateMemoryDB
TODO: generate tests for the remaining CRUD, try to hit ~100% default test coverage
TODO: test reporter
- coverage: https://x.com/wispem_wantex/status/2009799380648505563
- Jest shows for each file: % of lines, functions, branches and statements covered
- Go reporter should show:
- group coverage stats by either function, file or package
- count by statements, branches or functions
- Show both raw count and percentage
- list which lines / branches / functions were missed
- pretty (terminal) format or JSON format
TODO: foreign key to compound-FK table
- sample: booru_post_tag_votes
TODO: crap score
TODO: MakeSaveItem() fixture factory
TODO: better schema parsing with less weird views
- omp --resume 01a0ef0b-9452-7000-a63a-6d5cabf07646
TODO: sqlite row-level locking
- https://chatgpt.com/c/6ace6870-bf10-83e8-8e0c-98569ae9303f
TODO: `ops/gas_init_test.sh` "gas generate item_to_item --test"