spine-framework 0.3.116 → 0.3.117
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
-- Migration 031: Add unique constraints required for idempotent app seed upserts
|
|
2
|
+
--
|
|
3
|
+
-- The install-app seeder uses ON CONFLICT(app_id, name) for ai_agents and
|
|
4
|
+
-- pipelines, and ON CONFLICT(app_id, slug) for prompt_configs. Without these
|
|
5
|
+
-- constraints the seeder falls back to plain INSERT, causing duplicates on
|
|
6
|
+
-- re-install.
|
|
7
|
+
--
|
|
8
|
+
-- Safe to re-run: uses IF NOT EXISTS guard via DO block.
|
|
9
|
+
|
|
10
|
+
DO $$
|
|
11
|
+
BEGIN
|
|
12
|
+
-- ai_agents: unique on (app_id, name)
|
|
13
|
+
IF NOT EXISTS (
|
|
14
|
+
SELECT 1 FROM pg_constraint
|
|
15
|
+
WHERE conname = 'ai_agents_app_id_name_key'
|
|
16
|
+
) THEN
|
|
17
|
+
ALTER TABLE public.ai_agents ADD CONSTRAINT ai_agents_app_id_name_key UNIQUE (app_id, name);
|
|
18
|
+
END IF;
|
|
19
|
+
|
|
20
|
+
-- prompt_configs: unique on (app_id, slug)
|
|
21
|
+
IF NOT EXISTS (
|
|
22
|
+
SELECT 1 FROM pg_constraint
|
|
23
|
+
WHERE conname = 'prompt_configs_app_id_slug_key'
|
|
24
|
+
) THEN
|
|
25
|
+
ALTER TABLE public.prompt_configs ADD CONSTRAINT prompt_configs_app_id_slug_key UNIQUE (app_id, slug);
|
|
26
|
+
END IF;
|
|
27
|
+
|
|
28
|
+
-- pipelines: unique on (app_id, name)
|
|
29
|
+
IF NOT EXISTS (
|
|
30
|
+
SELECT 1 FROM pg_constraint
|
|
31
|
+
WHERE conname = 'pipelines_app_id_name_key'
|
|
32
|
+
) THEN
|
|
33
|
+
ALTER TABLE public.pipelines ADD CONSTRAINT pipelines_app_id_name_key UNIQUE (app_id, name);
|
|
34
|
+
END IF;
|
|
35
|
+
END $$;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "spine-framework",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.117",
|
|
4
4
|
"description": "Multi-tenant, modular application platform for modern SaaS systems",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
".framework/migrations/028_fix_message_data_permissions.sql",
|
|
38
38
|
".framework/migrations/029_tighten_support_triage_prompt.sql",
|
|
39
39
|
".framework/migrations/030_messages_updated_by.sql",
|
|
40
|
+
".framework/migrations/031_seed_upsert_constraints.sql",
|
|
40
41
|
".framework/public/",
|
|
41
42
|
".framework/scripts/",
|
|
42
43
|
".framework/seeds/",
|