todo: four foreign keys churn on every push, deferred not fixed
Found while pushing chat_notification_prefs. Harmless — eight extra statements, no prompt, no data touched — but the database CLAUDE.md told the next person to expect only the two pk_music_now_playing lines and to treat anything else as their own change, which is no longer true. Both corrected; the fix itself is deliberately not done. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -707,6 +707,25 @@ outside the example's new README:
|
||||
|
||||
## Backburner
|
||||
|
||||
- [ ] **Four foreign keys are over Postgres's 63-character limit and re-create on every `db:push`.**
|
||||
Found 2026-08-19 while pushing `chat_notification_prefs`. Not a blocker and not causing trouble:
|
||||
eight extra statements per push, no prompt, no data touched — the same harmless churn already
|
||||
documented for `pk_music_now_playing`, and recorded here only so the next person reading a push
|
||||
plan knows it is not their change.
|
||||
|
||||
command_hq_session_tags_session_row_id_command_hq_sessions_id_fk 64
|
||||
command_hq_watcher_fires_session_row_id_command_hq_sessions_id_fk 65
|
||||
bitcoin_wallet_frozen_utxos_wallet_id_bitcoin_wallet_wallets_id_fk 66
|
||||
bitcoin_wallet_chain_cache_wallet_id_bitcoin_wallet_wallets_id_fk 65
|
||||
|
||||
The fix is the one `src/databases/CLAUDE.md` already prescribes and these four missed — declare
|
||||
them with `foreignKey({ name: 'fk_…', … })` under 63 characters, exactly as
|
||||
`fk_user_integrations_server_integration` was. **Renaming a constraint is not a data change**, but
|
||||
it does mean one push where the old name drops and the new one is added, so do it deliberately
|
||||
rather than folded into an unrelated change. Note the two bitcoin-wallet ones live in that
|
||||
plugin's own repository (`plugins/bitcoin-wallet/db/schema.ts`), so this spans two repos and the
|
||||
plugin half only churns on a host where that plugin is installed.
|
||||
|
||||
- [ ] **Music tagging feature** (`/music`, Mp3tag-inspired). v1 was scoped as a two-panel workspace —
|
||||
file browser left, table right, single "Load" context-menu item flattening audio files into the
|
||||
table. Discarded before completion; would need `GET /file-browser/flatten-audio`, a
|
||||
|
||||
Reference in New Issue
Block a user