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

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.d.ts CHANGED
@@ -8,6 +8,7 @@ import { LifecycleProvider } from './lifecycles';
8
8
  import * as errors from './errors';
9
9
  import { Callback, TransactionObject } from './transaction-context';
10
10
  import type { Model } from './types';
11
+ import type { Migration } from './migrations';
11
12
  import { type Identifiers } from './utils/identifiers';
12
13
  export { isKnexQuery } from './utils/knex';
13
14
  interface Settings {
@@ -47,5 +48,5 @@ declare class Database {
47
48
  destroy(): Promise<void>;
48
49
  }
49
50
  export { Database, errors };
50
- export type { Model, Identifiers };
51
+ export type { Model, Identifiers, Migration };
51
52
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAc,MAAM,YAAY,CAAC;AACjD,OAAO,EAAwB,cAAc,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAkB,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAuB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAA4B,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAA4B,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAE3E,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAkB,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEpF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,UAAU,QAAQ;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE;QACV,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAcD,cAAM,QAAQ;IACZ,UAAU,EAAE,IAAI,CAAC;IAEjB,OAAO,EAAE,OAAO,CAAC;IAEjB,MAAM,EAAE,cAAc,CAAC;IAEvB,QAAQ,EAAE,QAAQ,CAAC;IAEnB,MAAM,EAAE,cAAc,CAAC;IAEvB,UAAU,EAAE,iBAAiB,CAAC;IAE9B,UAAU,EAAE,iBAAiB,CAAC;IAE9B,aAAa,EAAE,aAAa,CAAC;gBAEjB,MAAM,EAAE,cAAc;IA2B5B,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,KAAK,EAAE,CAAA;KAAE;IAM1C,KAAK,CAAC,GAAG,EAAE,MAAM;IAQjB,aAAa;IAIb,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;IACzC,WAAW,CAAC,SAAS,SAAS,QAAQ,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IA4CrF,aAAa,IAAI,MAAM,GAAG,SAAS;IAInC,aAAa,IAAI,IAAI;IACrB,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,YAAY;IAOpD,mBAAmB,CAAC,GAAG,mBAAkB;IAKzC,YAAY,CAAC,GAAG,EAAE,MAAM;IAIlB,OAAO;CAId;AAED,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC5B,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAc,MAAM,YAAY,CAAC;AACjD,OAAO,EAAwB,cAAc,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAkB,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAuB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAA4B,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAA4B,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAE3E,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAkB,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEpF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,UAAU,QAAQ;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE;QACV,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAcD,cAAM,QAAQ;IACZ,UAAU,EAAE,IAAI,CAAC;IAEjB,OAAO,EAAE,OAAO,CAAC;IAEjB,MAAM,EAAE,cAAc,CAAC;IAEvB,QAAQ,EAAE,QAAQ,CAAC;IAEnB,MAAM,EAAE,cAAc,CAAC;IAEvB,UAAU,EAAE,iBAAiB,CAAC;IAE9B,UAAU,EAAE,iBAAiB,CAAC;IAE9B,aAAa,EAAE,aAAa,CAAC;gBAEjB,MAAM,EAAE,cAAc;IA2B5B,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,KAAK,EAAE,CAAA;KAAE;IAM1C,KAAK,CAAC,GAAG,EAAE,MAAM;IAQjB,aAAa;IAIb,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;IACzC,WAAW,CAAC,SAAS,SAAS,QAAQ,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IA4CrF,aAAa,IAAI,MAAM,GAAG,SAAS;IAInC,aAAa,IAAI,IAAI;IACrB,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,YAAY;IAOpD,mBAAmB,CAAC,GAAG,mBAAkB;IAKzC,YAAY,CAAC,GAAG,EAAE,MAAM;IAIlB,OAAO;CAId;AAED,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC5B,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC"}
package/dist/index.js CHANGED
@@ -5888,7 +5888,7 @@ const createStorage = (opts) => {
5888
5888
  };
5889
5889
  };
5890
5890
  const wrapTransaction = (db) => (fn) => () => {
5891
- return db.connection.transaction((trx) => Promise.resolve(fn(trx, db)));
5891
+ return db.transaction(({ trx }) => Promise.resolve(fn(trx, db)));
5892
5892
  };
5893
5893
  const migrationResolver = ({ name, path: path2, context }) => {
5894
5894
  const { db } = context;
@@ -6018,15 +6018,13 @@ const migrateDocumentIdsWithLocalizations = async (db, knex2, meta) => {
6018
6018
  } while (ids.length > 0);
6019
6019
  };
6020
6020
  const migrationDocumentIds = async (db, knex2, meta) => {
6021
- let run = true;
6021
+ let updatedRows;
6022
6022
  do {
6023
- const updatedRows = await knex2(meta.tableName).update({ document_id: cuid2.createId() }).whereIn("id", (builder) => {
6024
- return builder.whereNull("document_id").select("id").limit(1);
6025
- });
6026
- if (updatedRows <= 0) {
6027
- run = false;
6028
- }
6029
- } while (run);
6023
+ updatedRows = await knex2(meta.tableName).update({ document_id: cuid2.createId() }).whereIn(
6024
+ "id",
6025
+ knex2(meta.tableName).select("id").from(knex2(meta.tableName).select("id").whereNull("document_id").limit(1).as("sub_query"))
6026
+ );
6027
+ } while (updatedRows > 0);
6030
6028
  };
6031
6029
  const createDocumentIdColumn = async (knex2, tableName) => {
6032
6030
  await knex2.schema.alterTable(tableName, (table) => {
@@ -6214,11 +6212,12 @@ const internalMigrations = [
6214
6212
  ];
6215
6213
  const createInternalMigrationProvider = (db) => {
6216
6214
  const context = { db };
6215
+ const migrations = [...internalMigrations];
6217
6216
  const umzugProvider = new umzug.Umzug({
6218
6217
  storage: createStorage({ db, tableName: "strapi_migrations_internal" }),
6219
6218
  logger: console,
6220
6219
  context,
6221
- migrations: internalMigrations.map((migration) => {
6220
+ migrations: () => migrations.map((migration) => {
6222
6221
  return {
6223
6222
  name: migration.name,
6224
6223
  up: wrapTransaction(context.db)(migration.up),
@@ -6227,6 +6226,9 @@ const createInternalMigrationProvider = (db) => {
6227
6226
  })
6228
6227
  });
6229
6228
  return {
6229
+ async register(migration) {
6230
+ migrations.push(migration);
6231
+ },
6230
6232
  async shouldRun() {
6231
6233
  const pendingMigrations = await umzugProvider.pending();
6232
6234
  return pendingMigrations.length > 0;
@@ -6240,8 +6242,13 @@ const createInternalMigrationProvider = (db) => {
6240
6242
  };
6241
6243
  };
6242
6244
  const createMigrationsProvider = (db) => {
6243
- const providers = [createUserMigrationProvider(db), createInternalMigrationProvider(db)];
6245
+ const userProvider = createUserMigrationProvider(db);
6246
+ const internalProvider = createInternalMigrationProvider(db);
6247
+ const providers = [userProvider, internalProvider];
6244
6248
  return {
6249
+ providers: {
6250
+ internal: internalProvider
6251
+ },
6245
6252
  async shouldRun() {
6246
6253
  const shouldRunResponses = await Promise.all(
6247
6254
  providers.map((provider) => provider.shouldRun())