chore: Move to Typescript (#2783)
This PR moves the entire project to Typescript. Due to the ~1000 ignores this will lead to a messy codebase for a while, but the churn is worth it – all of those ignore comments are places that were never type-safe previously. closes #1282
This commit is contained in:
@@ -1,43 +1,48 @@
|
||||
const tableName = 'documents';
|
||||
|
||||
const tableName = "documents";
|
||||
// because of this issue in Sequelize the foreign key constraint may be named differently depending
|
||||
// on when the previous migrations were ran https://github.com/sequelize/sequelize/pull/9890
|
||||
const constraintNames = ['documents_parentDocumentId_fkey', 'parentDocumentId_foreign_idx'];
|
||||
|
||||
const constraintNames = [
|
||||
"documents_parentDocumentId_fkey",
|
||||
"parentDocumentId_foreign_idx",
|
||||
];
|
||||
module.exports = {
|
||||
up: async (queryInterface, Sequelize) => {
|
||||
let error;
|
||||
|
||||
for (const constraintName of constraintNames) {
|
||||
try {
|
||||
await queryInterface.sequelize.query(`alter table "${tableName}" drop constraint "${constraintName}"`)
|
||||
await queryInterface.sequelize.query(
|
||||
`alter table "${tableName}"
|
||||
add constraint "${constraintName}" foreign key("parentDocumentId") references "documents" ("id")
|
||||
on delete cascade`
|
||||
`alter table "${tableName}" drop constraint "${constraintName}"`
|
||||
);
|
||||
await queryInterface.sequelize.query(`alter table "${tableName}"
|
||||
add constraint "${constraintName}" foreign key("parentDocumentId") references "documents" ("id")
|
||||
on delete cascade`);
|
||||
return;
|
||||
} catch (err) {
|
||||
error = err;
|
||||
}
|
||||
}
|
||||
|
||||
throw error;
|
||||
},
|
||||
|
||||
down: async (queryInterface, Sequelize) => {
|
||||
let error;
|
||||
|
||||
for (const constraintName of constraintNames) {
|
||||
try {
|
||||
await queryInterface.sequelize.query(`alter table "${tableName}" drop constraint "${constraintName}"`)
|
||||
await queryInterface.sequelize.query(
|
||||
`alter table "${tableName}"\
|
||||
add constraint "${constraintName}" foreign key("parentDocumentId") references "documents" ("id")
|
||||
on delete no action`
|
||||
`alter table "${tableName}" drop constraint "${constraintName}"`
|
||||
);
|
||||
await queryInterface.sequelize.query(`alter table "${tableName}"\
|
||||
add constraint "${constraintName}" foreign key("parentDocumentId") references "documents" ("id")
|
||||
on delete no action`);
|
||||
return;
|
||||
} catch (err) {
|
||||
error = err;
|
||||
}
|
||||
}
|
||||
|
||||
throw error;
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user