diff --git a/src/migrations/.eslintrc b/src/migrations/.eslintrc index 0719e9f181..7fa048064e 100644 --- a/src/migrations/.eslintrc +++ b/src/migrations/.eslintrc @@ -6,7 +6,7 @@ "rules": {}, "settings": {}, "parserOptions": { - "project": "../../tsconfig.json" + "project": "tsconfig.json" }, "overrides": [ { diff --git a/src/migrations/20220808110415-add-projects-foreign-key.js b/src/migrations/20220808110415-add-projects-foreign-key.js new file mode 100644 index 0000000000..e88fe3d40f --- /dev/null +++ b/src/migrations/20220808110415-add-projects-foreign-key.js @@ -0,0 +1,20 @@ +exports.up = function (db, cb) { + db.runSql( + ` + delete from group_role where project not in (select id from projects); + ALTER TABLE group_role + ADD CONSTRAINT fk_group_role_project + FOREIGN KEY(project) + REFERENCES projects(id) ON DELETE CASCADE; `, + cb, + ); +}; + +exports.down = function (db, cb) { + db.runSql( + ` + ALTER TABLE group_role DROP CONSTRAINT fk_group_role_project; +`, + cb, + ); +};