fix(package): migrator: uncomplite RAISE on sqlite
This commit is contained in:
@@ -285,15 +285,18 @@ CREATE TABLE IF NOT EXISTS hectic_migration (
|
|||||||
applied_at TEXT NOT NULL DEFAULT (datetime('now'))
|
applied_at TEXT NOT NULL DEFAULT (datetime('now'))
|
||||||
);
|
);
|
||||||
|
|
||||||
-- Check version compatibility
|
-- Create trigger to enforce version compatibility
|
||||||
INSERT OR IGNORE INTO hectic_version (name, version) VALUES ('migrator', 'VERSION_PLACEHOLDER');
|
CREATE TRIGGER IF NOT EXISTS hectic_version_check
|
||||||
|
BEFORE INSERT ON hectic_version
|
||||||
|
FOR EACH ROW
|
||||||
|
WHEN NEW.name = 'migrator'
|
||||||
|
AND EXISTS (SELECT 1 FROM hectic_version WHERE name = 'migrator' AND version != NEW.version)
|
||||||
|
BEGIN
|
||||||
|
SELECT RAISE(ABORT, 'Incompatible migrator versions');
|
||||||
|
END;
|
||||||
|
|
||||||
-- Verify version if it already exists
|
-- Insert version if not exists
|
||||||
SELECT CASE
|
INSERT OR IGNORE INTO hectic_version (name, version) VALUES ('migrator', 'VERSION_PLACEHOLDER');
|
||||||
WHEN version != 'VERSION_PLACEHOLDER' AND name = 'migrator'
|
|
||||||
THEN RAISE(ABORT, 'Incompatible migrator versions')
|
|
||||||
ELSE 1
|
|
||||||
END FROM hectic_version WHERE name = 'migrator';
|
|
||||||
|
|
||||||
COMMIT;
|
COMMIT;
|
||||||
EOF
|
EOF
|
||||||
|
|||||||
Reference in New Issue
Block a user