@strapi/database 5.0.0-beta.6 → 5.0.0-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1176,14 +1176,6 @@ const createHelpers = (db) => {
1176
1176
  };
1177
1177
  const alterTable = async (schemaBuilder, table) => {
1178
1178
  await schemaBuilder.alterTable(table.name, (tableBuilder) => {
1179
- for (const removedIndex of table.indexes.removed) {
1180
- debug$2(`Dropping index ${removedIndex.name} on ${table.name}`);
1181
- dropIndex(tableBuilder, removedIndex);
1182
- }
1183
- for (const updateddIndex of table.indexes.updated) {
1184
- debug$2(`Dropping updated index ${updateddIndex.name} on ${table.name}`);
1185
- dropIndex(tableBuilder, updateddIndex.object);
1186
- }
1187
1179
  for (const removedForeignKey of table.foreignKeys.removed) {
1188
1180
  debug$2(`Dropping foreign key ${removedForeignKey.name} on ${table.name}`);
1189
1181
  dropForeignKey(tableBuilder, removedForeignKey);
@@ -1196,6 +1188,23 @@ const createHelpers = (db) => {
1196
1188
  debug$2(`Dropping column ${removedColumn.name} on ${table.name}`);
1197
1189
  dropColumn(tableBuilder, removedColumn);
1198
1190
  }
1191
+ const isMySQL = db.config.connection.client === "mysql";
1192
+ const ignoreForeignKeyNames = isMySQL ? [
1193
+ ...table.foreignKeys.removed.map((fk) => fk.name),
1194
+ ...table.foreignKeys.updated.map((fk) => fk.name)
1195
+ ] : [];
1196
+ for (const removedIndex of table.indexes.removed) {
1197
+ if (!ignoreForeignKeyNames.includes(removedIndex.name)) {
1198
+ debug$2(`Dropping index ${removedIndex.name} on ${table.name}`);
1199
+ dropIndex(tableBuilder, removedIndex);
1200
+ }
1201
+ }
1202
+ for (const updatedIndex of table.indexes.updated) {
1203
+ if (!ignoreForeignKeyNames.includes(updatedIndex.name)) {
1204
+ debug$2(`Dropping updated index ${updatedIndex.name} on ${table.name}`);
1205
+ dropIndex(tableBuilder, updatedIndex.object);
1206
+ }
1207
+ }
1199
1208
  for (const updatedColumn of table.columns.updated) {
1200
1209
  debug$2(`Updating column ${updatedColumn.name} on ${table.name}`);
1201
1210
  const { object } = updatedColumn;