tvl-depot/web/panettone
Aspen Smith a1a29f7c0b feat(web/panettone): Add a system for database migrations
Add a system for writing, running, and tracking database
migrations (changes to the database schema) over time, inspired by but
significantly simpler than postmodern-passenger-pigeon.

Migrations can be generated by
running (PANETTONE.MODEL:GENERATE-MIGRATION "name"), and are numerically
ordered lisp files that define (at least) a function called UP, which
runs the migration. The migrations that have been run against the
database are tracked in the `migrations` table, and when the
`(PANETTONE.MODEL:MIGRATE)` function is called (as it is on startup),
all migrations that have not yet been run are run within a transaction.

This includes one migration `1-init-schema.lisp`, which migrates the
database (idempotently) to the current state of the schema.

Change-Id: Id243a47763abea649784b12f25a6d05c2267381c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11253
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2024-03-31 19:22:05 +00:00
..
src feat(web/panettone): Add a system for database migrations 2024-03-31 19:22:05 +00:00
test fix(web/panettone): Don't add extra padding when already padded 2022-05-28 18:30:35 +00:00
.envrc feat(web/panettone): Add dev helpers for postgres db 2020-07-26 21:55:41 +00:00
.gitignore chore(web/panettone): ignore .fasl files 2020-07-26 20:12:37 +00:00
default.nix feat(web/panettone): Add a system for database migrations 2024-03-31 19:22:05 +00:00
docker-compose.yml feat(web/panettone): Add dev helpers for postgres db 2020-07-26 21:55:41 +00:00
OWNERS chore(depot): update OWNERS files for aspen 2023-12-20 18:35:58 +00:00
panettone.asd feat(web/panettone): Add initial styles 2020-07-23 22:20:00 +00:00
shell.nix fix(web/panettone): Fix shell.nix for new third_party format 2022-04-14 14:26:50 +00:00