diff --git a/server/migrations/20210923031555-missing-cascades.js b/server/migrations/20210923031555-missing-cascades.js new file mode 100644 index 00000000..cbb53a59 --- /dev/null +++ b/server/migrations/20210923031555-missing-cascades.js @@ -0,0 +1,44 @@ + +module.exports = { + up: async (queryInterface, Sequelize) => { + let tableName, constraintName; + + tableName = 'user_authentications'; + constraintName = 'user_authentications_authenticationProviderId_fkey'; + await queryInterface.sequelize.query(`alter table "${tableName}" drop constraint "${constraintName}"`) + await queryInterface.sequelize.query( + `alter table "${tableName}" + add constraint "${constraintName}" foreign key("authenticationProviderId") references "authentication_providers" ("id") + on delete cascade` + ); + + constraintName = 'user_authentications_userId_fkey'; + await queryInterface.sequelize.query(`alter table "${tableName}" drop constraint "${constraintName}"`) + await queryInterface.sequelize.query( + `alter table "${tableName}" + add constraint "${constraintName}" foreign key("userId") references "users" ("id") + on delete cascade` + ); + }, + + down: async (queryInterface, Sequelize) => { + let tableName, constraintName; + + tableName = 'user_authentications'; + constraintName = 'user_authentications_authenticationProviderId_fkey'; + await queryInterface.sequelize.query(`alter table "${tableName}" drop constraint "${constraintName}"`) + await queryInterface.sequelize.query( + `alter table "${tableName}" + add constraint "${constraintName}" foreign key("authenticationProviderId") references "authentication_providers" ("id") + on delete no action` + ); + + constraintName = 'user_authentications_userId_fkey'; + await queryInterface.sequelize.query(`alter table "${tableName}" drop constraint "${constraintName}"`) + await queryInterface.sequelize.query( + `alter table "${tableName}" + add constraint "${constraintName}" foreign key("userId") references "users" ("id") + on delete no action` + ); + }, +}; \ No newline at end of file