This repository has been archived on 2022-08-14. You can view files and clone it, but cannot push or open issues or pull requests.
outline/server/migrations/20210921031555-missing-cascades.js
2021-09-20 20:58:39 -07:00

78 lines
3.2 KiB
JavaScript

module.exports = {
up: async (queryInterface, Sequelize) => {
let tableName, constraintName;
tableName = 'collection_users';
constraintName = 'collection_users_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_users_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`
);
tableName = 'group_users';
constraintName = 'group_users_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`
);
constraintName = 'group_users_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 = 'collection_users';
constraintName = 'collection_users_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_users_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`
);
tableName = 'group_users';
constraintName = 'group_users_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`
);
constraintName = 'group_users_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`
);
},
};