fix: Account for migrations ran on old versions of Sequelize (#1130)
This commit is contained in:
@ -1,22 +1,43 @@
|
|||||||
const tableName = 'revisions';
|
const tableName = 'revisions';
|
||||||
const constraintName = 'revisions_documentId_fkey';
|
|
||||||
|
// 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 = ['revisions_documentId_fkey', 'documentId_foreign_idx'];
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
up: async (queryInterface, Sequelize) => {
|
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}" drop constraint "${constraintName}"`)
|
||||||
await queryInterface.sequelize.query(
|
await queryInterface.sequelize.query(
|
||||||
`alter table "${tableName}"
|
`alter table "${tableName}"
|
||||||
add constraint "${constraintName}" foreign key("documentId") references "documents" ("id")
|
add constraint "${constraintName}" foreign key("documentId") references "documents" ("id")
|
||||||
on delete cascade`
|
on delete cascade`
|
||||||
);
|
);
|
||||||
|
return;
|
||||||
|
} catch (err) {
|
||||||
|
error = err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw error;
|
||||||
},
|
},
|
||||||
|
|
||||||
down: async (queryInterface, Sequelize) => {
|
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}" drop constraint "${constraintName}"`)
|
||||||
await queryInterface.sequelize.query(
|
await queryInterface.sequelize.query(
|
||||||
`alter table "${tableName}"\
|
`alter table "${tableName}"\
|
||||||
add constraint "${constraintName}" foreign key("documentId") references "documents" ("id")
|
add constraint "${constraintName}" foreign key("documentId") references "documents" ("id")
|
||||||
on delete no action`
|
on delete no action`
|
||||||
);
|
);
|
||||||
|
return;
|
||||||
|
} catch (err) {
|
||||||
|
error = err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw error;
|
||||||
},
|
},
|
||||||
};
|
};
|
@ -1,22 +1,43 @@
|
|||||||
const tableName = 'backlinks';
|
const tableName = 'backlinks';
|
||||||
const constraintName = 'backlinks_reverseDocumentId_fkey';
|
|
||||||
|
// 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 = ['backlinks_reverseDocumentId_fkey', 'reverseDocumentId_foreign_idx'];
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
up: async (queryInterface, Sequelize) => {
|
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}" drop constraint "${constraintName}"`)
|
||||||
await queryInterface.sequelize.query(
|
await queryInterface.sequelize.query(
|
||||||
`alter table "${tableName}"
|
`alter table "${tableName}"
|
||||||
add constraint "${constraintName}" foreign key("reverseDocumentId") references "documents" ("id")
|
add constraint "${constraintName}" foreign key("reverseDocumentId") references "documents" ("id")
|
||||||
on delete cascade`
|
on delete cascade`
|
||||||
);
|
);
|
||||||
|
return;
|
||||||
|
} catch (err) {
|
||||||
|
error = err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw error;
|
||||||
},
|
},
|
||||||
|
|
||||||
down: async (queryInterface, Sequelize) => {
|
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}" drop constraint "${constraintName}"`)
|
||||||
await queryInterface.sequelize.query(
|
await queryInterface.sequelize.query(
|
||||||
`alter table "${tableName}"\
|
`alter table "${tableName}"\
|
||||||
add constraint "${constraintName}" foreign key("reverseDocumentId") references "documents" ("id")
|
add constraint "${constraintName}" foreign key("reverseDocumentId") references "documents" ("id")
|
||||||
on delete no action`
|
on delete no action`
|
||||||
);
|
);
|
||||||
|
return;
|
||||||
|
} catch (err) {
|
||||||
|
error = err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw error;
|
||||||
},
|
},
|
||||||
};
|
};
|
@ -1,22 +1,43 @@
|
|||||||
const tableName = 'documents';
|
const tableName = 'documents';
|
||||||
const constraintName = 'documents_parentDocumentId_fkey';
|
|
||||||
|
// 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'];
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
up: async (queryInterface, Sequelize) => {
|
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}" drop constraint "${constraintName}"`)
|
||||||
await queryInterface.sequelize.query(
|
await queryInterface.sequelize.query(
|
||||||
`alter table "${tableName}"
|
`alter table "${tableName}"
|
||||||
add constraint "${constraintName}" foreign key("parentDocumentId") references "documents" ("id")
|
add constraint "${constraintName}" foreign key("parentDocumentId") references "documents" ("id")
|
||||||
on delete cascade`
|
on delete cascade`
|
||||||
);
|
);
|
||||||
|
return;
|
||||||
|
} catch (err) {
|
||||||
|
error = err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw error;
|
||||||
},
|
},
|
||||||
|
|
||||||
down: async (queryInterface, Sequelize) => {
|
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}" drop constraint "${constraintName}"`)
|
||||||
await queryInterface.sequelize.query(
|
await queryInterface.sequelize.query(
|
||||||
`alter table "${tableName}"\
|
`alter table "${tableName}"\
|
||||||
add constraint "${constraintName}" foreign key("parentDocumentId") references "documents" ("id")
|
add constraint "${constraintName}" foreign key("parentDocumentId") references "documents" ("id")
|
||||||
on delete no action`
|
on delete no action`
|
||||||
);
|
);
|
||||||
|
return;
|
||||||
|
} catch (err) {
|
||||||
|
error = err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw error;
|
||||||
},
|
},
|
||||||
};
|
};
|
@ -1,22 +1,43 @@
|
|||||||
const tableName = 'shares';
|
const tableName = 'shares';
|
||||||
const constraintName = 'shares_documentId_fkey';
|
|
||||||
|
// 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 = ['shares_documentId_fkey', 'documentId_foreign_idx'];
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
up: async (queryInterface, Sequelize) => {
|
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}" drop constraint "${constraintName}"`)
|
||||||
await queryInterface.sequelize.query(
|
await queryInterface.sequelize.query(
|
||||||
`alter table "${tableName}"
|
`alter table "${tableName}"
|
||||||
add constraint "${constraintName}" foreign key("documentId") references "documents" ("id")
|
add constraint "${constraintName}" foreign key("documentId") references "documents" ("id")
|
||||||
on delete cascade`
|
on delete cascade`
|
||||||
);
|
);
|
||||||
|
return;
|
||||||
|
} catch (err) {
|
||||||
|
error = err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw error;
|
||||||
},
|
},
|
||||||
|
|
||||||
down: async (queryInterface, Sequelize) => {
|
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}" drop constraint "${constraintName}"`)
|
||||||
await queryInterface.sequelize.query(
|
await queryInterface.sequelize.query(
|
||||||
`alter table "${tableName}"\
|
`alter table "${tableName}"\
|
||||||
add constraint "${constraintName}" foreign key("documentId") references "documents" ("id")
|
add constraint "${constraintName}" foreign key("documentId") references "documents" ("id")
|
||||||
on delete no action`
|
on delete no action`
|
||||||
);
|
);
|
||||||
|
return;
|
||||||
|
} catch (err) {
|
||||||
|
error = err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw error;
|
||||||
},
|
},
|
||||||
};
|
};
|
@ -1,22 +1,43 @@
|
|||||||
const tableName = 'backlinks';
|
const tableName = 'backlinks';
|
||||||
const constraintName = 'backlinks_documentId_fkey';
|
|
||||||
|
// 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 = ['backlinks_documentId_fkey', 'documentId_foreign_idx'];
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
up: async (queryInterface, Sequelize) => {
|
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}" drop constraint "${constraintName}"`)
|
||||||
await queryInterface.sequelize.query(
|
await queryInterface.sequelize.query(
|
||||||
`alter table "${tableName}"
|
`alter table "${tableName}"
|
||||||
add constraint "${constraintName}" foreign key("documentId") references "documents" ("id")
|
add constraint "${constraintName}" foreign key("documentId") references "documents" ("id")
|
||||||
on delete cascade`
|
on delete cascade`
|
||||||
);
|
);
|
||||||
|
return;
|
||||||
|
} catch (err) {
|
||||||
|
error = err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw error;
|
||||||
},
|
},
|
||||||
|
|
||||||
down: async (queryInterface, Sequelize) => {
|
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}" drop constraint "${constraintName}"`)
|
||||||
await queryInterface.sequelize.query(
|
await queryInterface.sequelize.query(
|
||||||
`alter table "${tableName}"\
|
`alter table "${tableName}"\
|
||||||
add constraint "${constraintName}" foreign key("documentId") references "documents" ("id")
|
add constraint "${constraintName}" foreign key("documentId") references "documents" ("id")
|
||||||
on delete no action`
|
on delete no action`
|
||||||
);
|
);
|
||||||
|
return;
|
||||||
|
} catch (err) {
|
||||||
|
error = err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw error;
|
||||||
},
|
},
|
||||||
};
|
};
|
Reference in New Issue
Block a user