mirror of
https://github.com/strapi/strapi.git
synced 2025-10-19 03:49:45 +00:00
chore: refactor
This commit is contained in:
parent
6a649cd9b7
commit
cfda358b7f
@ -297,9 +297,6 @@ const createHelpers = (db: Database) => {
|
|||||||
let existingIndexes = [...existingMetadata.indexes];
|
let existingIndexes = [...existingMetadata.indexes];
|
||||||
const existingForeignKeys = [...existingMetadata.foreignKeys];
|
const existingForeignKeys = [...existingMetadata.foreignKeys];
|
||||||
|
|
||||||
// In MySQL, dropping a foreign key can also implicitly drop an index with the same name
|
|
||||||
const isMySQL = db.config.connection.client === 'mysql';
|
|
||||||
|
|
||||||
// Track dropped foreign keys
|
// Track dropped foreign keys
|
||||||
const droppedForeignKeyNames: string[] = [];
|
const droppedForeignKeyNames: string[] = [];
|
||||||
|
|
||||||
@ -309,22 +306,19 @@ const createHelpers = (db: Database) => {
|
|||||||
debug(`Dropping foreign key ${removedForeignKey.name} on ${table.name}`);
|
debug(`Dropping foreign key ${removedForeignKey.name} on ${table.name}`);
|
||||||
dropForeignKey(tableBuilder, removedForeignKey);
|
dropForeignKey(tableBuilder, removedForeignKey);
|
||||||
|
|
||||||
if (isMySQL) {
|
droppedForeignKeyNames.push(removedForeignKey.name);
|
||||||
droppedForeignKeyNames.push(removedForeignKey.name);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const updatedForeignKey of table.foreignKeys.updated) {
|
for (const updatedForeignKey of table.foreignKeys.updated) {
|
||||||
debug(`Dropping updated foreign key ${updatedForeignKey.name} on ${table.name}`);
|
debug(`Dropping updated foreign key ${updatedForeignKey.name} on ${table.name}`);
|
||||||
dropForeignKey(tableBuilder, updatedForeignKey.object);
|
dropForeignKey(tableBuilder, updatedForeignKey.object);
|
||||||
|
|
||||||
if (isMySQL) {
|
droppedForeignKeyNames.push(updatedForeignKey.object.name);
|
||||||
droppedForeignKeyNames.push(updatedForeignKey.object.name);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// In MySQL, dropping a foreign key can also implicitly drop an index with the same name
|
||||||
// Remove dropped foreign keys from existingIndexes for MySQL
|
// Remove dropped foreign keys from existingIndexes for MySQL
|
||||||
if (isMySQL) {
|
if (db.config.connection.client === 'mysql') {
|
||||||
existingIndexes = existingIndexes.filter(
|
existingIndexes = existingIndexes.filter(
|
||||||
(index) => !droppedForeignKeyNames.includes(index.name)
|
(index) => !droppedForeignKeyNames.includes(index.name)
|
||||||
);
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user