refactor(db): split revision preview from meta_json
Preview BIRD-фрагменты в config_revision_preview; meta_json только счётчик префиксов. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
UPDATE config_revision
|
||||
SET meta_json = json_set(
|
||||
meta_json,
|
||||
'$.preview_fragments',
|
||||
json(COALESCE((SELECT fragments FROM config_revision_preview p WHERE p.revision_id = config_revision.id), '{}'))
|
||||
)
|
||||
WHERE id IN (SELECT revision_id FROM config_revision_preview);
|
||||
|
||||
DROP TABLE IF EXISTS config_revision_preview;
|
||||
@@ -0,0 +1,13 @@
|
||||
CREATE TABLE config_revision_preview (
|
||||
revision_id TEXT NOT NULL PRIMARY KEY REFERENCES config_revision (id) ON DELETE CASCADE,
|
||||
fragments TEXT NOT NULL DEFAULT '{}'
|
||||
);
|
||||
|
||||
INSERT INTO config_revision_preview (revision_id, fragments)
|
||||
SELECT id, json(COALESCE(json_extract(meta_json, '$.preview_fragments'), '{}'))
|
||||
FROM config_revision
|
||||
WHERE json_extract(meta_json, '$.preview_fragments') IS NOT NULL;
|
||||
|
||||
UPDATE config_revision
|
||||
SET meta_json = json_remove(meta_json, '$.preview_fragments')
|
||||
WHERE json_extract(meta_json, '$.preview_fragments') IS NOT NULL;
|
||||
Reference in New Issue
Block a user