From e170a63094c2005d3a4e9302fd95b16a113bb9fa Mon Sep 17 00:00:00 2001 From: Tom Moor Date: Sun, 7 Nov 2021 21:53:40 -0800 Subject: [PATCH] Missing association cascades --- .../20211107021900-missing-cascades.js | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 server/migrations/20211107021900-missing-cascades.js diff --git a/server/migrations/20211107021900-missing-cascades.js b/server/migrations/20211107021900-missing-cascades.js new file mode 100644 index 00000000..bdfe9d7b --- /dev/null +++ b/server/migrations/20211107021900-missing-cascades.js @@ -0,0 +1,51 @@ +module.exports = { + up: async (queryInterface, Sequelize) => { + let tableName, constraintName; + + tableName = "collection_groups"; + constraintName = "collection_groups_collectionId_fkey"; + await queryInterface.sequelize.query( + `alter table "${tableName}" drop constraint "${constraintName}"` + ); + await queryInterface.sequelize.query( + `alter table "${tableName}" + add constraint "${constraintName}" foreign key("collectionId") references "collections" ("id") + on delete cascade` + ); + + constraintName = "collection_groups_groupId_fkey"; + await queryInterface.sequelize.query( + `alter table "${tableName}" drop constraint "${constraintName}"` + ); + await queryInterface.sequelize.query( + `alter table "${tableName}" + add constraint "${constraintName}" foreign key("groupId") references "groups" ("id") + on delete cascade` + ); + }, + + down: async (queryInterface, Sequelize) => { + let tableName, constraintName; + + tableName = "collection_groups"; + constraintName = "collection_groups_collectionId_fkey"; + await queryInterface.sequelize.query( + `alter table "${tableName}" drop constraint "${constraintName}"` + ); + await queryInterface.sequelize.query( + `alter table "${tableName}" + add constraint "${constraintName}" foreign key("collectionId") references "collections" ("id") + on delete no action` + ); + + constraintName = "collection_groups_groupId_fkey"; + await queryInterface.sequelize.query( + `alter table "${tableName}" drop constraint "${constraintName}"` + ); + await queryInterface.sequelize.query( + `alter table "${tableName}" + add constraint "${constraintName}" foreign key("groupId") references "groups" ("id") + on delete no action` + ); + }, +};