studysets: add license_year column for the copyright year #83

Merged
raisondetredev merged 1 commit from refs/pull/83/head into main 2026-08-02 11:50:44 +02:00
raisondetredev commented 2026-08-02 11:50:36 +02:00 (Migrated from codeberg.org)

Nullable integer beside license_holder, backing the studyset edit
sheet's new License year field. The app renders it as © 2019 Tae Kim · CC-BY-SA-4.0 in the detail footer, the Explore summary sheet, and the
markdown export.

The CHECK (1000-9999, or NULL) is a server-side backstop for writers
other than the edit sheet — the field itself is digits-only and
four-char-limited client-side. The bound is deliberately loose rather
than "not in the future", so back- and forward-dating both stay possible
without another migration.

Additive and nullable, so the flip is a no-op for existing rows. Pairs
with halkyon-learn's Studyset.licenseYear + Drift schemaVersion 56;
without it every studyset push carrying the new key is rejected
(PGRST204), which takes the whole studyset queue down, not just the
year. Already applied to the live instance.

Signed-off-by: Tizian 「ティツィアーン」 raisondetredev@pm.me

Nullable `integer` beside `license_holder`, backing the studyset edit sheet's new License year field. The app renders it as `© 2019 Tae Kim · CC-BY-SA-4.0` in the detail footer, the Explore summary sheet, and the markdown export. The CHECK (1000-9999, or NULL) is a server-side backstop for writers other than the edit sheet — the field itself is digits-only and four-char-limited client-side. The bound is deliberately loose rather than "not in the future", so back- and forward-dating both stay possible without another migration. Additive and nullable, so the flip is a no-op for existing rows. Pairs with halkyon-learn's Studyset.licenseYear + Drift schemaVersion 56; without it every studyset push carrying the new key is rejected (PGRST204), which takes the whole studyset queue down, not just the year. Already applied to the live instance. Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
project-halkyon/halkyon-infra!83
No description provided.