Some checks failed
CI / Rustfmt (push) Successful in 22s
CI / Cargo Audit & Deny (push) Successful in 36s
CI / Security Blocking Checks (push) Successful in 6s
CI / Web Blocking Checks (push) Successful in 53s
CI / Web Advisory Checks (push) Successful in 34s
Publish Images / Resolve Publish Metadata (push) Successful in 1s
CI / Security Advisory Checks (push) Successful in 38s
CI / Clippy (push) Successful in 2m7s
Publish Images / Publish Docker Dist Bundle (push) Failing after 19s
Publish Images / Publish web (amd64) (push) Successful in 49s
Publish Images / Publish web (arm64) (push) Successful in 3m31s
CI / Tests (push) Successful in 8m48s
Publish Images / Build Rust Bundles (amd64) (push) Successful in 12m42s
Publish Images / Build Rust Bundles (arm64) (push) Successful in 12m19s
Publish Images / Publish agent (amd64) (push) Successful in 26s
Publish Images / Publish api (amd64) (push) Successful in 38s
Publish Images / Publish notifier (amd64) (push) Successful in 42s
Publish Images / Publish executor (amd64) (push) Successful in 46s
Publish Images / Publish agent (arm64) (push) Successful in 56s
Publish Images / Publish api (arm64) (push) Successful in 1m52s
Publish Images / Publish executor (arm64) (push) Successful in 2m2s
Publish Images / Publish notifier (arm64) (push) Successful in 2m3s
Publish Images / Publish manifest attune/agent (push) Successful in 6s
Publish Images / Publish manifest attune/api (push) Successful in 11s
Publish Images / Publish manifest attune/executor (push) Successful in 10s
Publish Images / Publish manifest attune/notifier (push) Successful in 8s
Publish Images / Publish manifest attune/web (push) Successful in 8s
18 lines
807 B
SQL
18 lines
807 B
SQL
-- Migration: Convert key.value from TEXT to JSONB
|
|
--
|
|
-- This allows keys to store structured data (objects, arrays, numbers, booleans)
|
|
-- in addition to plain strings. Existing string values are wrapped in JSON string
|
|
-- literals so they remain valid and accessible.
|
|
--
|
|
-- Before: value TEXT NOT NULL (e.g., 'my-secret-token')
|
|
-- After: value JSONB NOT NULL (e.g., '"my-secret-token"' or '{"user":"admin","pass":"s3cret"}')
|
|
|
|
-- Step 1: Convert existing TEXT values to JSONB.
|
|
-- to_jsonb(text) wraps a plain string as a JSON string literal, e.g.:
|
|
-- 'hello' -> '"hello"'
|
|
-- This preserves all existing values perfectly — encrypted values (base64 strings)
|
|
-- become JSON strings, and plain text values become JSON strings.
|
|
ALTER TABLE key
|
|
ALTER COLUMN value TYPE JSONB
|
|
USING to_jsonb(value);
|