Files
pocket-id/backend/resources/migrations/postgres/20261006120000_sqlite_postgres_schema_alignment.up.sql
T

25 lines
1.2 KiB
SQL

-- Declare the columns that are NOT NULL on SQLite as NOT NULL too, so an export from either database can be imported into the other
-- The application never writes NULL into these columns, but backfill any NULL left over from older versions first
-- Empty strings are what the application writes for these values and what readers of kv treat as missing
UPDATE audit_logs SET created_at = now() WHERE created_at IS NULL;
ALTER TABLE audit_logs ALTER COLUMN created_at SET NOT NULL;
UPDATE audit_logs SET user_agent = '' WHERE user_agent IS NULL;
ALTER TABLE audit_logs ALTER COLUMN user_agent SET NOT NULL;
UPDATE kv SET value = '' WHERE value IS NULL;
ALTER TABLE kv ALTER COLUMN value SET NOT NULL;
UPDATE oidc_clients SET created_at = now() WHERE created_at IS NULL;
ALTER TABLE oidc_clients ALTER COLUMN created_at SET NOT NULL;
UPDATE users SET first_name = '' WHERE first_name IS NULL;
ALTER TABLE users ALTER COLUMN first_name SET NOT NULL;
UPDATE users SET last_name = '' WHERE last_name IS NULL;
ALTER TABLE users ALTER COLUMN last_name SET NOT NULL;
UPDATE webauthn_credentials SET created_at = now() WHERE created_at IS NULL;
ALTER TABLE webauthn_credentials ALTER COLUMN created_at SET NOT NULL;