Eerste commit voor Helvoirt Gevelreiniging
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
-- FIX "Failed to publish" op locatie- en gewone pagina's (collecties `locaties` + `paginas`).
|
||||
--
|
||||
-- OORZAAK (deterministisch, geverifieerd): de setup-wizard maakte voor deze twee collecties
|
||||
-- een FTS5-zoekindex aan als EXTERNE-CONTENT-tabel (`content='ec_locaties'`), met sync-triggers
|
||||
-- op INSERT/UPDATE/DELETE. De UPDATE-trigger doet `DELETE FROM _emdash_fts_* WHERE rowid=OLD.rowid`.
|
||||
-- Bij een externe-content FTS5-tabel herberekent die DELETE de oude termen door de bron-tabel te
|
||||
-- lezen — maar tijdens AFTER UPDATE is die rij AL bijgewerkt, dus de index klopt niet meer en
|
||||
-- SQLite gooit "database disk image is malformed". De hele UPDATE rolt terug.
|
||||
--
|
||||
-- Publiceren roept intern `syncDataColumns` aan = `UPDATE ec_locaties SET <kolommen>` → trigger
|
||||
-- vuurt → fout → status wordt nooit 'published'. (De /maastricht-pagina staat alleen live omdat
|
||||
-- die als 'published' is GESEED via een INSERT, dus nooit het UPDATE-pad raakte.) Lokaal 1-op-1
|
||||
-- gereproduceerd met de exacte trigger-DDL: INSERT lukt, UPDATE faalt.
|
||||
--
|
||||
-- FIX: maak deze collecties non-searchable — net als alle ZELF-gegenereerde collecties
|
||||
-- (over_ons/diensten/homepage/contact_page/voorwaarden), die bewust geen FTS hebben en wél
|
||||
-- publiceren. We droppen de triggers + de FTS-virtualtabellen (incl. shadow-tabellen) en zetten
|
||||
-- searchable=0. De frontend gebruikt geen full-text-search (routes halen op via slug); alleen de
|
||||
-- admin-zoekbalk voor deze twee collecties valt weg. Pure DB-wijziging → geen redeploy nodig.
|
||||
--
|
||||
-- Toepassen op remote D1:
|
||||
-- node node_modules/wrangler/bin/wrangler.js d1 execute helvoirt-db --remote --file migrations/0014_fix_publish_drop_fts.sql
|
||||
|
||||
DROP TRIGGER IF EXISTS "_emdash_fts_locaties_insert";
|
||||
DROP TRIGGER IF EXISTS "_emdash_fts_locaties_update";
|
||||
DROP TRIGGER IF EXISTS "_emdash_fts_locaties_delete";
|
||||
DROP TABLE IF EXISTS "_emdash_fts_locaties";
|
||||
|
||||
DROP TRIGGER IF EXISTS "_emdash_fts_paginas_insert";
|
||||
DROP TRIGGER IF EXISTS "_emdash_fts_paginas_update";
|
||||
DROP TRIGGER IF EXISTS "_emdash_fts_paginas_delete";
|
||||
DROP TABLE IF EXISTS "_emdash_fts_paginas";
|
||||
|
||||
UPDATE _emdash_fields
|
||||
SET searchable = 0
|
||||
WHERE collection_id IN (
|
||||
SELECT id FROM _emdash_collections WHERE slug IN ('locaties', 'paginas')
|
||||
);
|
||||
Reference in New Issue
Block a user