arkormx 2.0.11 → 2.1.0

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/cli.mjs CHANGED
@@ -1565,6 +1565,9 @@ const getMigrationPlan = async (migration, direction = "up") => {
1565
1565
  const supportsDatabaseMigrationExecution = (adapter) => {
1566
1566
  return typeof adapter?.executeSchemaOperations === "function";
1567
1567
  };
1568
+ const supportsDatabaseCreation = (adapter) => {
1569
+ return typeof adapter?.createDatabaseFromError === "function";
1570
+ };
1568
1571
  const supportsDatabaseReset = (adapter) => {
1569
1572
  return typeof adapter?.resetDatabase === "function";
1570
1573
  };
@@ -3668,6 +3671,7 @@ var MigrateCommand = class extends Command {
3668
3671
  {--state-file= : Path to applied migration state file}
3669
3672
  {--schema= : Explicit prisma schema path}
3670
3673
  {--migration-name= : Name for prisma migrate dev}
3674
+ {--create-database : Create the configured database without prompting}
3671
3675
  `;
3672
3676
  this.description = "Apply migration classes to schema.prisma and run Prisma workflow";
3673
3677
  }
@@ -3689,19 +3693,21 @@ var MigrateCommand = class extends Command {
3689
3693
  const classes = this.option("all") || !this.argument("name") ? await this.loadAllMigrations(migrationsDir) : (await this.loadNamedMigration(migrationsDir, this.argument("name"))).filter(([cls]) => cls !== void 0);
3690
3694
  if (classes.length === 0) return void this.error("Error: No migration classes found to run.");
3691
3695
  const stateFilePath = resolveMigrationStateFilePath(process.cwd(), this.option("state-file") ? String(this.option("state-file")) : void 0);
3692
- let appliedState = await readAppliedMigrationsStateFromStore(this.app.getConfig("adapter"), stateFilePath);
3693
3696
  const adapter = this.app.getConfig("adapter");
3694
3697
  const useDatabaseMigrations = supportsDatabaseMigrationExecution(adapter);
3695
3698
  const persistedFeatures = resolvePersistedMetadataFeatures(this.app.getConfig("features"));
3699
+ const appliedState = await this.runWithDatabaseCreationRetry(adapter, () => readAppliedMigrationsStateFromStore(adapter, stateFilePath));
3700
+ if (!appliedState.ok) return;
3701
+ let appliedMigrationState = appliedState.value;
3696
3702
  const skipped = [];
3697
3703
  const changed = [];
3698
3704
  const pending = classes.filter(([migrationClass, file]) => {
3699
- if (!appliedState) return true;
3705
+ if (!appliedMigrationState) return true;
3700
3706
  const identity = buildMigrationIdentity(file, migrationClass.name);
3701
3707
  const checksum = computeMigrationChecksum(file);
3702
- const alreadyApplied = isMigrationApplied(appliedState, identity, checksum);
3708
+ const alreadyApplied = isMigrationApplied(appliedMigrationState, identity, checksum);
3703
3709
  if (alreadyApplied) skipped.push([migrationClass, file]);
3704
- else if (findAppliedMigration(appliedState, identity)) changed.push([migrationClass, file]);
3710
+ else if (findAppliedMigration(appliedMigrationState, identity)) changed.push([migrationClass, file]);
3705
3711
  return !alreadyApplied;
3706
3712
  });
3707
3713
  skipped.forEach(([migrationClass, file]) => {
@@ -3711,8 +3717,8 @@ var MigrateCommand = class extends Command {
3711
3717
  this.success(this.app.splitLogger("Changed", `${file} (${migrationClass.name})`));
3712
3718
  });
3713
3719
  if (pending.length === 0) {
3714
- if (appliedState) try {
3715
- await syncPersistedColumnMappingsFromState(process.cwd(), appliedState, await this.loadAllMigrations(migrationsDir), persistedFeatures);
3720
+ if (appliedMigrationState) try {
3721
+ await syncPersistedColumnMappingsFromState(process.cwd(), appliedMigrationState, await this.loadAllMigrations(migrationsDir), persistedFeatures);
3716
3722
  } catch (error) {
3717
3723
  this.error(`Error: ${error instanceof Error ? error.message : String(error)}`);
3718
3724
  return;
@@ -3728,7 +3734,7 @@ var MigrateCommand = class extends Command {
3728
3734
  }
3729
3735
  for (const [MigrationClassItem] of pending) {
3730
3736
  if (useDatabaseMigrations) {
3731
- await applyMigrationToDatabase(adapter, MigrationClassItem);
3737
+ if (!(await this.runWithDatabaseCreationRetry(adapter, () => applyMigrationToDatabase(adapter, MigrationClassItem))).ok) return;
3732
3738
  continue;
3733
3739
  }
3734
3740
  await applyMigrationToPrismaSchema(MigrationClassItem, {
@@ -3736,11 +3742,11 @@ var MigrateCommand = class extends Command {
3736
3742
  write: true
3737
3743
  });
3738
3744
  }
3739
- if (appliedState) {
3745
+ if (appliedMigrationState) {
3740
3746
  const runAppliedIds = [];
3741
3747
  for (const [migrationClass, file] of pending) {
3742
3748
  const identity = buildMigrationIdentity(file, migrationClass.name);
3743
- appliedState = markMigrationApplied(appliedState, {
3749
+ appliedMigrationState = markMigrationApplied(appliedMigrationState, {
3744
3750
  id: identity,
3745
3751
  file,
3746
3752
  className: migrationClass.name,
@@ -3749,14 +3755,14 @@ var MigrateCommand = class extends Command {
3749
3755
  });
3750
3756
  runAppliedIds.push(identity);
3751
3757
  }
3752
- appliedState = markMigrationRun(appliedState, {
3758
+ appliedMigrationState = markMigrationRun(appliedMigrationState, {
3753
3759
  id: buildMigrationRunId(),
3754
3760
  appliedAt: (/* @__PURE__ */ new Date()).toISOString(),
3755
3761
  migrationIds: runAppliedIds
3756
3762
  });
3757
- await writeAppliedMigrationsStateToStore(adapter, stateFilePath, appliedState);
3763
+ if (!(await this.runWithDatabaseCreationRetry(adapter, () => writeAppliedMigrationsStateToStore(adapter, stateFilePath, appliedMigrationState))).ok) return;
3758
3764
  try {
3759
- await syncPersistedColumnMappingsFromState(process.cwd(), appliedState, await this.loadAllMigrations(migrationsDir), persistedFeatures);
3765
+ await syncPersistedColumnMappingsFromState(process.cwd(), appliedMigrationState, await this.loadAllMigrations(migrationsDir), persistedFeatures);
3760
3766
  } catch (error) {
3761
3767
  this.error(`Error: ${error instanceof Error ? error.message : String(error)}`);
3762
3768
  return;
@@ -3821,6 +3827,51 @@ var MigrateCommand = class extends Command {
3821
3827
  return candidate[MIGRATION_BRAND] === true || typeof prototype?.up === "function" && typeof prototype?.down === "function";
3822
3828
  });
3823
3829
  }
3830
+ async runWithDatabaseCreationRetry(adapter, callback) {
3831
+ if (!supportsDatabaseCreation(adapter)) return {
3832
+ ok: true,
3833
+ value: await callback()
3834
+ };
3835
+ try {
3836
+ return {
3837
+ ok: true,
3838
+ value: await callback()
3839
+ };
3840
+ } catch (error) {
3841
+ const database = this.getMissingDatabaseName(error);
3842
+ if (!database) throw error;
3843
+ if (!await this.shouldCreateDatabase(database)) {
3844
+ this.error(`Error: Configured database [${database}] does not exist.`);
3845
+ return { ok: false };
3846
+ }
3847
+ let created;
3848
+ try {
3849
+ created = await adapter.createDatabaseFromError(error);
3850
+ } catch (creationError) {
3851
+ this.error(`Error: ${creationError instanceof Error ? creationError.message : String(creationError)}`);
3852
+ return { ok: false };
3853
+ }
3854
+ if (!created) {
3855
+ this.error(`Error: ${error instanceof Error ? error.message : String(error)}`);
3856
+ return { ok: false };
3857
+ }
3858
+ if (created.created) this.success(`Created database: ${created.database ?? database}`);
3859
+ return {
3860
+ ok: true,
3861
+ value: await callback()
3862
+ };
3863
+ }
3864
+ }
3865
+ getMissingDatabaseName(error) {
3866
+ const candidate = error;
3867
+ const matched = (typeof candidate?.message === "string" ? candidate.message : "").match(/database "([^"]+)" does not exist/i);
3868
+ if (candidate?.code === "3D000" && matched?.[1]) return matched[1];
3869
+ }
3870
+ async shouldCreateDatabase(database) {
3871
+ if (this.option("create-database")) return true;
3872
+ if (this.isNonInteractive()) return false;
3873
+ return await this.confirm(`Configured database${database ? ` [${database}]` : ""} does not exist. Create it before running migrations?`, true);
3874
+ }
3824
3875
  };
3825
3876
 
3826
3877
  //#endregion
@@ -3833,6 +3884,7 @@ var MigrateFreshCommand = class extends Command {
3833
3884
  {--skip-migrate : Skip prisma database sync}
3834
3885
  {--state-file= : Path to applied migration state file}
3835
3886
  {--schema= : Explicit prisma schema path}
3887
+ {--create-database : Create the configured database without prompting}
3836
3888
  `;
3837
3889
  this.description = "Reset the database and rerun all migration classes";
3838
3890
  }
@@ -3859,16 +3911,16 @@ var MigrateFreshCommand = class extends Command {
3859
3911
  this.error("Error: Your current database adapter does not support database reset.");
3860
3912
  return;
3861
3913
  }
3862
- await adapter.resetDatabase();
3914
+ if (!(await this.runWithDatabaseCreationRetry(adapter, () => adapter.resetDatabase())).ok) return;
3863
3915
  } else {
3864
3916
  if (!existsSync$1(schemaPath)) return void this.error(`Error: Prisma schema file not found: ${this.app.formatPathForLog(schemaPath)}`);
3865
3917
  writeFileSync$1(schemaPath, stripPrismaSchemaModelsAndEnums(readFileSync$1(schemaPath, "utf-8")));
3866
3918
  }
3867
3919
  let appliedState = createEmptyAppliedMigrationsState();
3868
- await writeAppliedMigrationsStateToStore(adapter, stateFilePath, appliedState);
3920
+ if (!(await this.runWithDatabaseCreationRetry(adapter, () => writeAppliedMigrationsStateToStore(adapter, stateFilePath, appliedState))).ok) return;
3869
3921
  for (const [MigrationClassItem] of migrations) {
3870
3922
  if (useDatabaseMigrations) {
3871
- await applyMigrationToDatabase(adapter, MigrationClassItem);
3923
+ if (!(await this.runWithDatabaseCreationRetry(adapter, () => applyMigrationToDatabase(adapter, MigrationClassItem))).ok) return;
3872
3924
  continue;
3873
3925
  }
3874
3926
  await applyMigrationToPrismaSchema(MigrationClassItem, {
@@ -3888,7 +3940,7 @@ var MigrateFreshCommand = class extends Command {
3888
3940
  appliedAt: (/* @__PURE__ */ new Date()).toISOString(),
3889
3941
  migrationIds: appliedState.migrations.map((migration) => migration.id)
3890
3942
  });
3891
- await writeAppliedMigrationsStateToStore(adapter, stateFilePath, appliedState);
3943
+ if (!(await this.runWithDatabaseCreationRetry(adapter, () => writeAppliedMigrationsStateToStore(adapter, stateFilePath, appliedState))).ok) return;
3892
3944
  try {
3893
3945
  await syncPersistedColumnMappingsFromState(process.cwd(), appliedState, migrations, persistedFeatures);
3894
3946
  } catch (error) {
@@ -3921,6 +3973,51 @@ var MigrateFreshCommand = class extends Command {
3921
3973
  return candidate[MIGRATION_BRAND] === true || typeof prototype?.up === "function" && typeof prototype?.down === "function";
3922
3974
  });
3923
3975
  }
3976
+ async runWithDatabaseCreationRetry(adapter, callback) {
3977
+ if (!supportsDatabaseCreation(adapter)) return {
3978
+ ok: true,
3979
+ value: await callback()
3980
+ };
3981
+ try {
3982
+ return {
3983
+ ok: true,
3984
+ value: await callback()
3985
+ };
3986
+ } catch (error) {
3987
+ const database = this.getMissingDatabaseName(error);
3988
+ if (!database) throw error;
3989
+ if (!await this.shouldCreateDatabase(database)) {
3990
+ this.error(`Error: Configured database [${database}] does not exist.`);
3991
+ return { ok: false };
3992
+ }
3993
+ let created;
3994
+ try {
3995
+ created = await adapter.createDatabaseFromError(error);
3996
+ } catch (creationError) {
3997
+ this.error(`Error: ${creationError instanceof Error ? creationError.message : String(creationError)}`);
3998
+ return { ok: false };
3999
+ }
4000
+ if (!created) {
4001
+ this.error(`Error: ${error instanceof Error ? error.message : String(error)}`);
4002
+ return { ok: false };
4003
+ }
4004
+ if (created.created) this.success(`Created database: ${created.database ?? database}`);
4005
+ return {
4006
+ ok: true,
4007
+ value: await callback()
4008
+ };
4009
+ }
4010
+ }
4011
+ getMissingDatabaseName(error) {
4012
+ const candidate = error;
4013
+ const matched = (typeof candidate?.message === "string" ? candidate.message : "").match(/database "([^"]+)" does not exist/i);
4014
+ if (candidate?.code === "3D000" && matched?.[1]) return matched[1];
4015
+ }
4016
+ async shouldCreateDatabase(database) {
4017
+ if (this.option("create-database")) return true;
4018
+ if (this.isNonInteractive()) return false;
4019
+ return await this.confirm(`Configured database${database ? ` [${database}]` : ""} does not exist. Create it before running migrations?`, true);
4020
+ }
3924
4021
  };
3925
4022
 
3926
4023
  //#endregion
@@ -1,7 +1,7 @@
1
- import { Collection } from "@h3ravel/collect.js";
2
1
  import { Kysely, Transaction } from "kysely";
3
- import { Command } from "@h3ravel/musket";
4
2
  import { PrismaClient } from "@prisma/client";
3
+ import { Collection } from "@h3ravel/collect.js";
4
+ import { Command } from "@h3ravel/musket";
5
5
 
6
6
  //#region src/types/migrations.d.ts
7
7
  type SchemaColumnType = 'id' | 'uuid' | 'enum' | 'string' | 'text' | 'integer' | 'bigInteger' | 'float' | 'boolean' | 'json' | 'date' | 'timestamp';
@@ -3462,6 +3462,10 @@ interface AdapterModelStructure {
3462
3462
  interface AdapterModelIntrospectionOptions {
3463
3463
  tables?: string[];
3464
3464
  }
3465
+ interface AdapterDatabaseCreationResult {
3466
+ database?: string;
3467
+ created: boolean;
3468
+ }
3465
3469
  interface DatabaseAdapter {
3466
3470
  readonly capabilities?: AdapterCapabilities;
3467
3471
  select: <TModel = unknown>(spec: SelectSpec<TModel>) => Promise<DatabaseRows>;
@@ -3483,6 +3487,7 @@ interface DatabaseAdapter {
3483
3487
  introspectModels?: (options?: AdapterModelIntrospectionOptions) => Promise<AdapterModelStructure[]>;
3484
3488
  executeSchemaOperations?: (operations: SchemaOperation[]) => Promise<void>;
3485
3489
  resetDatabase?: () => Promise<void>;
3490
+ createDatabaseFromError?: (error: unknown) => Promise<AdapterDatabaseCreationResult | null>;
3486
3491
  readAppliedMigrationsState?: () => Promise<AppliedMigrationsState>;
3487
3492
  writeAppliedMigrationsState?: (state: AppliedMigrationsState) => Promise<void>;
3488
3493
  transaction: <TResult = unknown>(callback: (adapter: DatabaseAdapter) => TResult | Promise<TResult>, context?: AdapterTransactionContext) => Promise<TResult>;
@@ -3505,6 +3510,9 @@ declare class KyselyDatabaseAdapter implements DatabaseAdapter {
3505
3510
  private static readonly migrationRunTable;
3506
3511
  readonly capabilities: AdapterCapabilities;
3507
3512
  constructor(db: KyselyExecutor, mapping?: KyselyTableMapping);
3513
+ private resolveConfiguredDatabaseName;
3514
+ private createMaintenanceConnectionString;
3515
+ private getMissingDatabaseNameFromError;
3508
3516
  private quoteIdentifier;
3509
3517
  private quoteLiteral;
3510
3518
  private interpolateRawSql;
@@ -3674,6 +3682,10 @@ declare class KyselyDatabaseAdapter implements DatabaseAdapter {
3674
3682
  introspectModels(options?: AdapterModelIntrospectionOptions): Promise<AdapterModelStructure[]>;
3675
3683
  executeSchemaOperations(operations: SchemaOperation[]): Promise<void>;
3676
3684
  resetDatabase(): Promise<void>;
3685
+ createDatabaseFromError(error: unknown): Promise<{
3686
+ database?: string;
3687
+ created: boolean;
3688
+ } | null>;
3677
3689
  readAppliedMigrationsState(): Promise<AppliedMigrationsState>;
3678
3690
  writeAppliedMigrationsState(state: AppliedMigrationsState): Promise<void>;
3679
3691
  /**
@@ -4241,6 +4253,9 @@ declare class MigrateCommand extends Command<CliApp> {
4241
4253
  * @returns
4242
4254
  */
4243
4255
  private loadMigrationClassesFromFile;
4256
+ private runWithDatabaseCreationRetry;
4257
+ private getMissingDatabaseName;
4258
+ private shouldCreateDatabase;
4244
4259
  }
4245
4260
  //#endregion
4246
4261
  //#region src/cli/commands/MigrateFreshCommand.d.ts
@@ -4250,6 +4265,9 @@ declare class MigrateFreshCommand extends Command<CliApp> {
4250
4265
  handle(): Promise<undefined>;
4251
4266
  private loadAllMigrations;
4252
4267
  private loadMigrationClassesFromFile;
4268
+ private runWithDatabaseCreationRetry;
4269
+ private getMissingDatabaseName;
4270
+ private shouldCreateDatabase;
4253
4271
  }
4254
4272
  //#endregion
4255
4273
  //#region src/cli/commands/MigrateRollbackCommand.d.ts
@@ -5249,6 +5267,7 @@ declare const generateMigrationFile: (name: string, options?: GenerateMigrationO
5249
5267
  */
5250
5268
  declare const getMigrationPlan: (migration: Migration | (new () => Migration), direction?: "up" | "down") => Promise<SchemaOperation[]>;
5251
5269
  declare const supportsDatabaseMigrationExecution: (adapter?: DatabaseAdapter) => adapter is DatabaseAdapter & Required<Pick<DatabaseAdapter, "executeSchemaOperations">>;
5270
+ declare const supportsDatabaseCreation: (adapter?: DatabaseAdapter) => adapter is DatabaseAdapter & Required<Pick<DatabaseAdapter, "createDatabaseFromError">>;
5252
5271
  declare const supportsDatabaseReset: (adapter?: DatabaseAdapter) => adapter is DatabaseAdapter & Required<Pick<DatabaseAdapter, "resetDatabase">>;
5253
5272
  declare const stripPrismaSchemaModelsAndEnums: (schema: string) => string;
5254
5273
  declare const applyMigrationToDatabase: (adapter: DatabaseAdapter, migration: Migration | (new () => Migration)) => Promise<{
@@ -5472,4 +5491,4 @@ declare class URLDriver {
5472
5491
  url(page: number): string;
5473
5492
  }
5474
5493
  //#endregion
5475
- export { deriveInverseRelationAlias as $, DatabaseTableOptions as $a, Paginator as $i, AdapterCapability as $n, DelegateOrderBy as $r, getPersistedTimestampColumns as $t, resetArkormRuntimeForTests as A, MorphToManyRelation as Aa, QuerySchemaCreateData as Ai, ForeignKeyBuilder as An, SchemaOperation as Ao, RelationFilterSpec as Ar, isMigrationApplied as At, applyMigrationRollbackToPrismaSchema as B, Relation as Ba, QuerySchemaWhere as Bi, MakeFactoryCommand as Bn, AdapterQueryInspection as Br, PersistedColumnMappingsState as Bt, getRuntimePaginationURLDriverFactory as C, QuerySchemaForModel as Ca, PrismaLikeSelect as Ci, SeederConstructor as Cn, PrismaMigrationWorkflowOptions as Co, QueryNotCondition as Cr, buildMigrationRunId as Ct, isQuerySchemaLike as D, ModelFactory as Da, PrismaTransactionCapableClient as Di, SchemaBuilder as Dn, SchemaForeignKey as Do, QueryTarget as Dr, findAppliedMigration as Dt, isDelegateLike as E, InlineFactory as Ea, PrismaTransactionCallback as Ei, Migration as En, SchemaColumnType as Eo, QuerySelectColumn as Er, deleteAppliedMigrationsStateFromStore as Et, PRISMA_MODEL_REGEX as F, HasManyThroughRelation as Fa, QuerySchemaRows as Fi, MigrateFreshCommand as Fn, SortDirection as Fr, removeAppliedMigration as Ft, buildFieldLine as G, RelationDefaultValue as Ga, TransactionCallback as Gi, AttributeOptions as Gn, CastDefinition as Gr, applyOperationsToPersistedColumnMappingsState as Gt, applyMigrationToPrismaSchema as H, RelationColumnLookupSpec as Ha, Serializable as Hi, CliApp as Hn, ArkormConfig as Hr, PersistedPrimaryKeyGeneration as Ht, applyAlterTableOperation as I, HasManyRelation as Ia, QuerySchemaSelect as Ii, MigrateCommand as In, UpdateManySpec as Ir, resolveMigrationStateFilePath as It, buildMigrationSource as J, ArkormCollection as Ja, TransactionOptions as Ji, createPrismaCompatibilityAdapter as Jn, CastType as Jr, getPersistedColumnMap as Jt, buildIndexLine as K, RelationMetadataProvider as Ka, TransactionCapableClient as Ki, PrismaDatabaseAdapter as Kn, CastHandler as Kr, createEmptyPersistedColumnMappingsState as Kt, applyCreateTableOperation as L, BelongsToRelation as La, QuerySchemaUniqueWhere as Li, MakeSeederCommand as Ln, UpdateSpec as Lr, supportsDatabaseMigrationState as Lt, PrimaryKeyGenerationPlanner as M, MorphManyRelation as Ma, QuerySchemaInclude as Mi, ModelsSyncCommand as Mn, SchemaTableCreateOperation as Mo, RelationLoadSpec as Mr, markMigrationRun as Mt, PRISMA_ENUM_MEMBER_REGEX as N, HasOneThroughRelation as Na, QuerySchemaOrderBy as Ni, MigrationHistoryCommand as Nn, SchemaTableDropOperation as No, SelectSpec as Nr, readAppliedMigrationsState as Nt, isTransactionCapableClient as O, defineFactory as Oa, PrismaTransactionContext as Oi, EnumBuilder as On, SchemaForeignKeyAction as Oo, RawQuerySpec as Or, getLastMigrationRun as Ot, PRISMA_ENUM_REGEX as P, HasOneRelation as Pa, QuerySchemaRow as Pi, MigrateRollbackCommand as Pn, TimestampColumnBehavior as Po, SoftDeleteQueryMode as Pr, readAppliedMigrationsStateFromStore as Pt, deriveCollectionFieldName as Q, FactoryState as Qa, LengthAwarePaginator as Qi, AdapterCapabilities as Qn, DelegateInclude as Qr, getPersistedTableMetadata as Qt, applyDropTableOperation as R, SingleResultRelation as Ra, QuerySchemaUpdateArgs as Ri, MakeModelCommand as Rn, UpsertSpec as Rr, writeAppliedMigrationsState as Rt, getRuntimePaginationCurrentPageResolver as S, ModelUpdateData as Sa, PrismaLikeScalarFilter as Si, SeederCallArgument as Sn, PrimaryKeyGeneration as So, QueryLogicalOperator as Sr, buildMigrationIdentity as St, getUserConfig as T, Model as Ta, PrismaLikeWhereInput as Ti, MIGRATION_BRAND as Tn, SchemaColumn as To, QueryRawCondition as Tr, createEmptyAppliedMigrationsState as Tt, applyOperationsToPrismaSchema as U, RelationConstraint as Ua, SimplePaginationMeta as Ui, resolveCast as Un, ArkormDebugEvent as Ur, PersistedTableMetadata as Ut, applyMigrationToDatabase as V, RelationTableLoader as Va, RuntimeClientLike as Vi, InitCommand as Vn, ArkormBootContext as Vr, PersistedMetadataFeatures as Vt, buildEnumBlock as W, RelationDefaultResolver as Wa, SoftDeleteConfig as Wi, Attribute as Wn, ArkormDebugHandler as Wr, PersistedTimestampColumn as Wt, buildRelationLine as X, FactoryDefinition as Xa, RelationshipModelStatic as Xi, KyselyDatabaseAdapter as Xn, DelegateCreateData as Xr, getPersistedEnumTsType as Xt, buildModelBlock as Y, FactoryAttributes as Ya, ModelStatic as Yi, createPrismaDatabaseAdapter as Yn, ClientResolver as Yr, getPersistedEnumMap as Yt, createMigrationTimestamp as Z, FactoryModelConstructor as Za, QueryBuilder as Zi, createKyselyAdapter as Zn, DelegateFindManyArgs as Zr, getPersistedPrimaryKeyGeneration as Zt, getActiveTransactionClient as _, ModelEventListener as _a, PrismaClientLike as _i, ArkormErrorContext as _n, AppliedMigrationsState as _o, InsertSpec as _r, stripPrismaSchemaModelsAndEnums as _t, resolveRuntimeCompatibilityQuerySchema as a, AttributeUpdateInput as aa, DelegateUpdateData as ai, syncPersistedColumnMappingsFromState as an, HasManyThroughRelationMetadata as ao, AdapterTransactionContext as ar, findModelBlock as at, getRuntimeClient as b, ModelRelationshipKey as ba, PrismaLikeInclude as bi, SEEDER_BRAND as bn, MigrationClass as bo, QueryCondition as br, toMigrationFileSlug as bt, createPrismaAdapter as c, GlobalScope as ca, EagerLoadMap as ci, UnsupportedAdapterFeatureException as cn, ModelMetadata as co, AggregateSpec as cr, formatRelationAction as ct, bindAdapterToModels as d, ModelAttributesOf as da, ModelTableCase as di, RelationResolutionException as dn, MorphToManyRelationMetadata as do, DatabaseRow as dr, pad as dt, AttributeCreateInput as ea, DelegateRow as ei, readPersistedColumnMappingsState as en, DatabaseTablePersistedMetadataOptions as eo, AdapterInspectionRequest as er, deriveRelationAlias as et, configureArkormRuntime as f, ModelCreateData as fa, PaginationCurrentPageResolver as fi, QueryExecutionException as fn, PivotModelStatic as fo, DatabaseRows as fr, resolveEnumName as ft, getActiveTransactionAdapter as g, ModelEventHandlerConstructor as ga, PaginationURLDriverFactory as gi, MissingDelegateException as gn, AppliedMigrationRun as go, InsertManySpec as gr, runPrismaCommand as gt, ensureArkormConfigLoading as h, ModelEventHandler as ha, PaginationURLDriver as hi, ModelNotFoundException as hn, AppliedMigrationEntry as ho, DeleteSpec as hr, runMigrationWithPrisma as ht, getRuntimeCompatibilityAdapter as i, AttributeSelect as ia, DelegateUpdateArgs as ii, resolvePersistedMetadataFeatures as in, HasManyRelationMetadata as io, AdapterQueryOperation as ir, findEnumBlock as it, runArkormTransaction as j, MorphOneRelation as ja, QuerySchemaFindManyArgs as ji, SeedCommand as jn, SchemaTableAlterOperation as jo, RelationLoadPlan as jr, markMigrationApplied as jt, loadArkormConfig as k, SetBasedEagerLoader as ka, PrismaTransactionOptions as ki, TableBuilder as kn, SchemaIndex as ko, RelationAggregateSpec as kr, getLatestAppliedMigrations as kt, createPrismaDelegateMap as l, ModelAttributeValue as la, GetUserConfig as li, UniqueConstraintResolutionException as ln, MorphManyRelationMetadata as lo, DatabaseAdapter as lr, generateMigrationFile as lt, emitRuntimeDebugEvent as m, ModelEventDispatcher as ma, PaginationOptions as mi, QueryConstraintException as mn, RelationMetadataType as mo, DeleteManySpec as mr, resolvePrismaType as mt, PivotModel as n, AttributeQuerySchema as na, DelegateSelect as ni, resetPersistedColumnMappingsCache as nn, BelongsToRelationMetadata as no, AdapterModelIntrospectionOptions as nr, deriveSingularFieldName as nt, resolveRuntimeCompatibilityQuerySchemaOrThrow as o, AttributeWhereInput as oa, DelegateWhere as oi, validatePersistedMetadataFeaturesForMigrations as on, HasOneRelationMetadata as oo, AggregateOperation as or, formatDefaultValue as ot, defineConfig as p, ModelDeclaredAttributeKey as pa, PaginationMeta as pi, QueryExecutionExceptionContext as pn, RelationMetadata as po, DatabaseValue as pr, resolveMigrationClassName as pt, buildInverseRelationLine as q, RelationTableLookupSpec as qa, TransactionContext as qi, PrismaDelegateNameMapping as qn, CastMap as qr, deletePersistedColumnMappingsState as qt, RuntimeModuleLoader as r, AttributeSchemaDelegate as ra, DelegateUniqueWhere as ri, resolveColumnMappingsFilePath as rn, ColumnMap as ro, AdapterModelStructure as rr, escapeRegex as rt, PrismaDelegateMap as s, DelegateForModelSchema as sa, EagerLoadConstraint as si, writePersistedColumnMappingsState as sn, HasOneThroughRelationMetadata as so, AggregateSelection as sr, formatEnumDefaultValue as st, URLDriver as t, AttributeOrderBy as ta, DelegateRows as ti, rebuildPersistedColumnMappingsState as tn, BelongsToManyRelationMetadata as to, AdapterModelFieldStructure as tr, deriveRelationFieldName as tt, inferDelegateName as u, ModelAttributes as ua, ModelQuerySchemaLike as ui, ScopeNotDefinedException as un, MorphOneRelationMetadata as uo, DatabasePrimitive as ur, getMigrationPlan as ut, getDefaultStubsPath as v, ModelEventName as va, PrismaDelegateLike as vi, ArkormException as vn, GenerateMigrationOptions as vo, QueryComparisonCondition as vr, supportsDatabaseMigrationExecution as vt, getRuntimePrismaClient as w, RelatedModelClass as wa, PrismaLikeSortOrder as wi, SeederInput as wn, PrismaSchemaSyncOptions as wo, QueryOrderBy as wr, computeMigrationChecksum as wt, getRuntimeDebugHandler as x, ModelRelationshipResult as xa, PrismaLikeOrderBy as xi, Seeder as xn, MigrationInstanceLike as xo, QueryGroupCondition as xr, toModelName as xt, getRuntimeAdapter as y, ModelLifecycleState as ya, PrismaFindManyArgsLike as yi, DB as yn, GeneratedMigrationFile as yo, QueryComparisonOperator as yr, supportsDatabaseReset as yt, applyMigrationRollbackToDatabase as z, BelongsToManyRelation as za, QuerySchemaUpdateData as zi, MakeMigrationCommand as zn, AdapterBindableModel as zr, writeAppliedMigrationsStateToStore as zt };
5494
+ export { deriveInverseRelationAlias as $, FactoryModelConstructor as $a, QueryBuilder as $i, AdapterCapabilities as $n, DelegateFindManyArgs as $r, getPersistedTableMetadata as $t, resetArkormRuntimeForTests as A, defineFactory as Aa, PrismaTransactionContext as Ai, TableBuilder as An, SchemaForeignKeyAction as Ao, RawQuerySpec as Ar, getLatestAppliedMigrations as At, applyMigrationRollbackToPrismaSchema as B, SingleResultRelation as Ba, QuerySchemaUpdateArgs as Bi, MakeMigrationCommand as Bn, UpsertSpec as Br, writeAppliedMigrationsStateToStore as Bt, getRuntimePaginationURLDriverFactory as C, ModelRelationshipResult as Ca, PrismaLikeOrderBy as Ci, SeederCallArgument as Cn, MigrationInstanceLike as Co, QueryGroupCondition as Cr, buildMigrationIdentity as Ct, isQuerySchemaLike as D, Model as Da, PrismaLikeWhereInput as Di, Migration as Dn, SchemaColumn as Do, QueryRawCondition as Dr, deleteAppliedMigrationsStateFromStore as Dt, isDelegateLike as E, RelatedModelClass as Ea, PrismaLikeSortOrder as Ei, MIGRATION_BRAND as En, PrismaSchemaSyncOptions as Eo, QueryOrderBy as Er, createEmptyAppliedMigrationsState as Et, PRISMA_MODEL_REGEX as F, HasOneThroughRelation as Fa, QuerySchemaOrderBy as Fi, MigrateRollbackCommand as Fn, SchemaTableDropOperation as Fo, SelectSpec as Fr, readAppliedMigrationsStateFromStore as Ft, buildFieldLine as G, RelationConstraint as Ga, SimplePaginationMeta as Gi, Attribute as Gn, ArkormDebugEvent as Gr, PersistedTimestampColumn as Gt, applyMigrationToPrismaSchema as H, Relation as Ha, QuerySchemaWhere as Hi, InitCommand as Hn, AdapterQueryInspection as Hr, PersistedMetadataFeatures as Ht, applyAlterTableOperation as I, HasOneRelation as Ia, QuerySchemaRow as Ii, MigrateFreshCommand as In, TimestampColumnBehavior as Io, SoftDeleteQueryMode as Ir, removeAppliedMigration as It, buildMigrationSource as J, RelationMetadataProvider as Ja, TransactionCapableClient as Ji, PrismaDelegateNameMapping as Jn, CastHandler as Jr, deletePersistedColumnMappingsState as Jt, buildIndexLine as K, RelationDefaultResolver as Ka, SoftDeleteConfig as Ki, AttributeOptions as Kn, ArkormDebugHandler as Kr, applyOperationsToPersistedColumnMappingsState as Kt, applyCreateTableOperation as L, HasManyThroughRelation as La, QuerySchemaRows as Li, MigrateCommand as Ln, SortDirection as Lr, resolveMigrationStateFilePath as Lt, PrimaryKeyGenerationPlanner as M, MorphToManyRelation as Ma, QuerySchemaCreateData as Mi, SeedCommand as Mn, SchemaOperation as Mo, RelationFilterSpec as Mr, markMigrationApplied as Mt, PRISMA_ENUM_MEMBER_REGEX as N, MorphOneRelation as Na, QuerySchemaFindManyArgs as Ni, ModelsSyncCommand as Nn, SchemaTableAlterOperation as No, RelationLoadPlan as Nr, markMigrationRun as Nt, isTransactionCapableClient as O, InlineFactory as Oa, PrismaTransactionCallback as Oi, SchemaBuilder as On, SchemaColumnType as Oo, QuerySelectColumn as Or, findAppliedMigration as Ot, PRISMA_ENUM_REGEX as P, MorphManyRelation as Pa, QuerySchemaInclude as Pi, MigrationHistoryCommand as Pn, SchemaTableCreateOperation as Po, RelationLoadSpec as Pr, readAppliedMigrationsState as Pt, deriveCollectionFieldName as Q, FactoryDefinition as Qa, RelationshipModelStatic as Qi, createKyselyAdapter as Qn, DelegateCreateData as Qr, getPersistedPrimaryKeyGeneration as Qt, applyDropTableOperation as R, HasManyRelation as Ra, QuerySchemaSelect as Ri, MakeSeederCommand as Rn, UpdateManySpec as Rr, supportsDatabaseMigrationState as Rt, getRuntimePaginationCurrentPageResolver as S, ModelRelationshipKey as Sa, PrismaLikeInclude as Si, Seeder as Sn, MigrationClass as So, QueryCondition as Sr, toModelName as St, getUserConfig as T, QuerySchemaForModel as Ta, PrismaLikeSelect as Ti, SeederInput as Tn, PrismaMigrationWorkflowOptions as To, QueryNotCondition as Tr, computeMigrationChecksum as Tt, applyOperationsToPrismaSchema as U, RelationTableLoader as Ua, RuntimeClientLike as Ui, CliApp as Un, ArkormBootContext as Ur, PersistedPrimaryKeyGeneration as Ut, applyMigrationToDatabase as V, BelongsToManyRelation as Va, QuerySchemaUpdateData as Vi, MakeFactoryCommand as Vn, AdapterBindableModel as Vr, PersistedColumnMappingsState as Vt, buildEnumBlock as W, RelationColumnLookupSpec as Wa, Serializable as Wi, resolveCast as Wn, ArkormConfig as Wr, PersistedTableMetadata as Wt, buildRelationLine as X, ArkormCollection as Xa, TransactionOptions as Xi, createPrismaDatabaseAdapter as Xn, CastType as Xr, getPersistedEnumMap as Xt, buildModelBlock as Y, RelationTableLookupSpec as Ya, TransactionContext as Yi, createPrismaCompatibilityAdapter as Yn, CastMap as Yr, getPersistedColumnMap as Yt, createMigrationTimestamp as Z, FactoryAttributes as Za, ModelStatic as Zi, KyselyDatabaseAdapter as Zn, ClientResolver as Zr, getPersistedEnumTsType as Zt, getActiveTransactionClient as _, ModelEventHandler as _a, PaginationURLDriver as _i, MissingDelegateException as _n, AppliedMigrationEntry as _o, DeleteSpec as _r, stripPrismaSchemaModelsAndEnums as _t, resolveRuntimeCompatibilityQuerySchema as a, AttributeSchemaDelegate as aa, DelegateUniqueWhere as ai, resolvePersistedMetadataFeatures as an, ColumnMap as ao, AdapterModelStructure as ar, findModelBlock as at, getRuntimeClient as b, ModelEventName as ba, PrismaDelegateLike as bi, DB as bn, GenerateMigrationOptions as bo, QueryComparisonCondition as br, supportsDatabaseReset as bt, createPrismaAdapter as c, AttributeWhereInput as ca, DelegateWhere as ci, writePersistedColumnMappingsState as cn, HasOneRelationMetadata as co, AggregateOperation as cr, formatRelationAction as ct, bindAdapterToModels as d, ModelAttributeValue as da, GetUserConfig as di, ScopeNotDefinedException as dn, MorphManyRelationMetadata as do, DatabaseAdapter as dr, pad as dt, LengthAwarePaginator as ea, DelegateInclude as ei, getPersistedTimestampColumns as en, FactoryState as eo, AdapterCapability as er, deriveRelationAlias as et, configureArkormRuntime as f, ModelAttributes as fa, ModelQuerySchemaLike as fi, RelationResolutionException as fn, MorphOneRelationMetadata as fo, DatabasePrimitive as fr, resolveEnumName as ft, getActiveTransactionAdapter as g, ModelEventDispatcher as ga, PaginationOptions as gi, ModelNotFoundException as gn, RelationMetadataType as go, DeleteManySpec as gr, runPrismaCommand as gt, ensureArkormConfigLoading as h, ModelDeclaredAttributeKey as ha, PaginationMeta as hi, QueryConstraintException as hn, RelationMetadata as ho, DatabaseValue as hr, runMigrationWithPrisma as ht, getRuntimeCompatibilityAdapter as i, AttributeQuerySchema as ia, DelegateSelect as ii, resolveColumnMappingsFilePath as in, BelongsToRelationMetadata as io, AdapterModelIntrospectionOptions as ir, findEnumBlock as it, runArkormTransaction as j, SetBasedEagerLoader as ja, PrismaTransactionOptions as ji, ForeignKeyBuilder as jn, SchemaIndex as jo, RelationAggregateSpec as jr, isMigrationApplied as jt, loadArkormConfig as k, ModelFactory as ka, PrismaTransactionCapableClient as ki, EnumBuilder as kn, SchemaForeignKey as ko, QueryTarget as kr, getLastMigrationRun as kt, createPrismaDelegateMap as l, DelegateForModelSchema as la, EagerLoadConstraint as li, UnsupportedAdapterFeatureException as ln, HasOneThroughRelationMetadata as lo, AggregateSelection as lr, generateMigrationFile as lt, emitRuntimeDebugEvent as m, ModelCreateData as ma, PaginationCurrentPageResolver as mi, QueryExecutionExceptionContext as mn, PivotModelStatic as mo, DatabaseRows as mr, resolvePrismaType as mt, PivotModel as n, AttributeCreateInput as na, DelegateRow as ni, rebuildPersistedColumnMappingsState as nn, DatabaseTablePersistedMetadataOptions as no, AdapterInspectionRequest as nr, deriveSingularFieldName as nt, resolveRuntimeCompatibilityQuerySchemaOrThrow as o, AttributeSelect as oa, DelegateUpdateArgs as oi, syncPersistedColumnMappingsFromState as on, HasManyRelationMetadata as oo, AdapterQueryOperation as or, formatDefaultValue as ot, defineConfig as p, ModelAttributesOf as pa, ModelTableCase as pi, QueryExecutionException as pn, MorphToManyRelationMetadata as po, DatabaseRow as pr, resolveMigrationClassName as pt, buildInverseRelationLine as q, RelationDefaultValue as qa, TransactionCallback as qi, PrismaDatabaseAdapter as qn, CastDefinition as qr, createEmptyPersistedColumnMappingsState as qt, RuntimeModuleLoader as r, AttributeOrderBy as ra, DelegateRows as ri, resetPersistedColumnMappingsCache as rn, BelongsToManyRelationMetadata as ro, AdapterModelFieldStructure as rr, escapeRegex as rt, PrismaDelegateMap as s, AttributeUpdateInput as sa, DelegateUpdateData as si, validatePersistedMetadataFeaturesForMigrations as sn, HasManyThroughRelationMetadata as so, AdapterTransactionContext as sr, formatEnumDefaultValue as st, URLDriver as t, Paginator as ta, DelegateOrderBy as ti, readPersistedColumnMappingsState as tn, DatabaseTableOptions as to, AdapterDatabaseCreationResult as tr, deriveRelationFieldName as tt, inferDelegateName as u, GlobalScope as ua, EagerLoadMap as ui, UniqueConstraintResolutionException as un, ModelMetadata as uo, AggregateSpec as ur, getMigrationPlan as ut, getDefaultStubsPath as v, ModelEventHandlerConstructor as va, PaginationURLDriverFactory as vi, ArkormErrorContext as vn, AppliedMigrationRun as vo, InsertManySpec as vr, supportsDatabaseCreation as vt, getRuntimePrismaClient as w, ModelUpdateData as wa, PrismaLikeScalarFilter as wi, SeederConstructor as wn, PrimaryKeyGeneration as wo, QueryLogicalOperator as wr, buildMigrationRunId as wt, getRuntimeDebugHandler as x, ModelLifecycleState as xa, PrismaFindManyArgsLike as xi, SEEDER_BRAND as xn, GeneratedMigrationFile as xo, QueryComparisonOperator as xr, toMigrationFileSlug as xt, getRuntimeAdapter as y, ModelEventListener as ya, PrismaClientLike as yi, ArkormException as yn, AppliedMigrationsState as yo, InsertSpec as yr, supportsDatabaseMigrationExecution as yt, applyMigrationRollbackToDatabase as z, BelongsToRelation as za, QuerySchemaUniqueWhere as zi, MakeModelCommand as zn, UpdateSpec as zr, writeAppliedMigrationsState as zt };
@@ -1,7 +1,7 @@
1
- import { Kysely, Transaction } from "kysely";
2
- import { PrismaClient } from "@prisma/client";
3
1
  import { Collection } from "@h3ravel/collect.js";
2
+ import { Kysely, Transaction } from "kysely";
4
3
  import { Command } from "@h3ravel/musket";
4
+ import { PrismaClient } from "@prisma/client";
5
5
 
6
6
  //#region src/types/migrations.d.ts
7
7
  type SchemaColumnType = 'id' | 'uuid' | 'enum' | 'string' | 'text' | 'integer' | 'bigInteger' | 'float' | 'boolean' | 'json' | 'date' | 'timestamp';
@@ -3462,6 +3462,10 @@ interface AdapterModelStructure {
3462
3462
  interface AdapterModelIntrospectionOptions {
3463
3463
  tables?: string[];
3464
3464
  }
3465
+ interface AdapterDatabaseCreationResult {
3466
+ database?: string;
3467
+ created: boolean;
3468
+ }
3465
3469
  interface DatabaseAdapter {
3466
3470
  readonly capabilities?: AdapterCapabilities;
3467
3471
  select: <TModel = unknown>(spec: SelectSpec<TModel>) => Promise<DatabaseRows>;
@@ -3483,6 +3487,7 @@ interface DatabaseAdapter {
3483
3487
  introspectModels?: (options?: AdapterModelIntrospectionOptions) => Promise<AdapterModelStructure[]>;
3484
3488
  executeSchemaOperations?: (operations: SchemaOperation[]) => Promise<void>;
3485
3489
  resetDatabase?: () => Promise<void>;
3490
+ createDatabaseFromError?: (error: unknown) => Promise<AdapterDatabaseCreationResult | null>;
3486
3491
  readAppliedMigrationsState?: () => Promise<AppliedMigrationsState>;
3487
3492
  writeAppliedMigrationsState?: (state: AppliedMigrationsState) => Promise<void>;
3488
3493
  transaction: <TResult = unknown>(callback: (adapter: DatabaseAdapter) => TResult | Promise<TResult>, context?: AdapterTransactionContext) => Promise<TResult>;
@@ -3505,6 +3510,9 @@ declare class KyselyDatabaseAdapter implements DatabaseAdapter {
3505
3510
  private static readonly migrationRunTable;
3506
3511
  readonly capabilities: AdapterCapabilities;
3507
3512
  constructor(db: KyselyExecutor, mapping?: KyselyTableMapping);
3513
+ private resolveConfiguredDatabaseName;
3514
+ private createMaintenanceConnectionString;
3515
+ private getMissingDatabaseNameFromError;
3508
3516
  private quoteIdentifier;
3509
3517
  private quoteLiteral;
3510
3518
  private interpolateRawSql;
@@ -3674,6 +3682,10 @@ declare class KyselyDatabaseAdapter implements DatabaseAdapter {
3674
3682
  introspectModels(options?: AdapterModelIntrospectionOptions): Promise<AdapterModelStructure[]>;
3675
3683
  executeSchemaOperations(operations: SchemaOperation[]): Promise<void>;
3676
3684
  resetDatabase(): Promise<void>;
3685
+ createDatabaseFromError(error: unknown): Promise<{
3686
+ database?: string;
3687
+ created: boolean;
3688
+ } | null>;
3677
3689
  readAppliedMigrationsState(): Promise<AppliedMigrationsState>;
3678
3690
  writeAppliedMigrationsState(state: AppliedMigrationsState): Promise<void>;
3679
3691
  /**
@@ -4241,6 +4253,9 @@ declare class MigrateCommand extends Command<CliApp> {
4241
4253
  * @returns
4242
4254
  */
4243
4255
  private loadMigrationClassesFromFile;
4256
+ private runWithDatabaseCreationRetry;
4257
+ private getMissingDatabaseName;
4258
+ private shouldCreateDatabase;
4244
4259
  }
4245
4260
  //#endregion
4246
4261
  //#region src/cli/commands/MigrateFreshCommand.d.ts
@@ -4250,6 +4265,9 @@ declare class MigrateFreshCommand extends Command<CliApp> {
4250
4265
  handle(): Promise<undefined>;
4251
4266
  private loadAllMigrations;
4252
4267
  private loadMigrationClassesFromFile;
4268
+ private runWithDatabaseCreationRetry;
4269
+ private getMissingDatabaseName;
4270
+ private shouldCreateDatabase;
4253
4271
  }
4254
4272
  //#endregion
4255
4273
  //#region src/cli/commands/MigrateRollbackCommand.d.ts
@@ -5249,6 +5267,7 @@ declare const generateMigrationFile: (name: string, options?: GenerateMigrationO
5249
5267
  */
5250
5268
  declare const getMigrationPlan: (migration: Migration | (new () => Migration), direction?: "up" | "down") => Promise<SchemaOperation[]>;
5251
5269
  declare const supportsDatabaseMigrationExecution: (adapter?: DatabaseAdapter) => adapter is DatabaseAdapter & Required<Pick<DatabaseAdapter, "executeSchemaOperations">>;
5270
+ declare const supportsDatabaseCreation: (adapter?: DatabaseAdapter) => adapter is DatabaseAdapter & Required<Pick<DatabaseAdapter, "createDatabaseFromError">>;
5252
5271
  declare const supportsDatabaseReset: (adapter?: DatabaseAdapter) => adapter is DatabaseAdapter & Required<Pick<DatabaseAdapter, "resetDatabase">>;
5253
5272
  declare const stripPrismaSchemaModelsAndEnums: (schema: string) => string;
5254
5273
  declare const applyMigrationToDatabase: (adapter: DatabaseAdapter, migration: Migration | (new () => Migration)) => Promise<{
@@ -5472,4 +5491,4 @@ declare class URLDriver {
5472
5491
  url(page: number): string;
5473
5492
  }
5474
5493
  //#endregion
5475
- export { deriveInverseRelationAlias as $, DatabaseTableOptions as $a, Paginator as $i, AdapterCapability as $n, DelegateOrderBy as $r, getPersistedTimestampColumns as $t, resetArkormRuntimeForTests as A, MorphToManyRelation as Aa, QuerySchemaCreateData as Ai, ForeignKeyBuilder as An, SchemaOperation as Ao, RelationFilterSpec as Ar, isMigrationApplied as At, applyMigrationRollbackToPrismaSchema as B, Relation as Ba, QuerySchemaWhere as Bi, MakeFactoryCommand as Bn, AdapterQueryInspection as Br, PersistedColumnMappingsState as Bt, getRuntimePaginationURLDriverFactory as C, QuerySchemaForModel as Ca, PrismaLikeSelect as Ci, SeederConstructor as Cn, PrismaMigrationWorkflowOptions as Co, QueryNotCondition as Cr, buildMigrationRunId as Ct, isQuerySchemaLike as D, ModelFactory as Da, PrismaTransactionCapableClient as Di, SchemaBuilder as Dn, SchemaForeignKey as Do, QueryTarget as Dr, findAppliedMigration as Dt, isDelegateLike as E, InlineFactory as Ea, PrismaTransactionCallback as Ei, Migration as En, SchemaColumnType as Eo, QuerySelectColumn as Er, deleteAppliedMigrationsStateFromStore as Et, PRISMA_MODEL_REGEX as F, HasManyThroughRelation as Fa, QuerySchemaRows as Fi, MigrateFreshCommand as Fn, SortDirection as Fr, removeAppliedMigration as Ft, buildFieldLine as G, RelationDefaultValue as Ga, TransactionCallback as Gi, AttributeOptions as Gn, CastDefinition as Gr, applyOperationsToPersistedColumnMappingsState as Gt, applyMigrationToPrismaSchema as H, RelationColumnLookupSpec as Ha, Serializable as Hi, CliApp as Hn, ArkormConfig as Hr, PersistedPrimaryKeyGeneration as Ht, applyAlterTableOperation as I, HasManyRelation as Ia, QuerySchemaSelect as Ii, MigrateCommand as In, UpdateManySpec as Ir, resolveMigrationStateFilePath as It, buildMigrationSource as J, ArkormCollection as Ja, TransactionOptions as Ji, createPrismaCompatibilityAdapter as Jn, CastType as Jr, getPersistedColumnMap as Jt, buildIndexLine as K, RelationMetadataProvider as Ka, TransactionCapableClient as Ki, PrismaDatabaseAdapter as Kn, CastHandler as Kr, createEmptyPersistedColumnMappingsState as Kt, applyCreateTableOperation as L, BelongsToRelation as La, QuerySchemaUniqueWhere as Li, MakeSeederCommand as Ln, UpdateSpec as Lr, supportsDatabaseMigrationState as Lt, PrimaryKeyGenerationPlanner as M, MorphManyRelation as Ma, QuerySchemaInclude as Mi, ModelsSyncCommand as Mn, SchemaTableCreateOperation as Mo, RelationLoadSpec as Mr, markMigrationRun as Mt, PRISMA_ENUM_MEMBER_REGEX as N, HasOneThroughRelation as Na, QuerySchemaOrderBy as Ni, MigrationHistoryCommand as Nn, SchemaTableDropOperation as No, SelectSpec as Nr, readAppliedMigrationsState as Nt, isTransactionCapableClient as O, defineFactory as Oa, PrismaTransactionContext as Oi, EnumBuilder as On, SchemaForeignKeyAction as Oo, RawQuerySpec as Or, getLastMigrationRun as Ot, PRISMA_ENUM_REGEX as P, HasOneRelation as Pa, QuerySchemaRow as Pi, MigrateRollbackCommand as Pn, TimestampColumnBehavior as Po, SoftDeleteQueryMode as Pr, readAppliedMigrationsStateFromStore as Pt, deriveCollectionFieldName as Q, FactoryState as Qa, LengthAwarePaginator as Qi, AdapterCapabilities as Qn, DelegateInclude as Qr, getPersistedTableMetadata as Qt, applyDropTableOperation as R, SingleResultRelation as Ra, QuerySchemaUpdateArgs as Ri, MakeModelCommand as Rn, UpsertSpec as Rr, writeAppliedMigrationsState as Rt, getRuntimePaginationCurrentPageResolver as S, ModelUpdateData as Sa, PrismaLikeScalarFilter as Si, SeederCallArgument as Sn, PrimaryKeyGeneration as So, QueryLogicalOperator as Sr, buildMigrationIdentity as St, getUserConfig as T, Model as Ta, PrismaLikeWhereInput as Ti, MIGRATION_BRAND as Tn, SchemaColumn as To, QueryRawCondition as Tr, createEmptyAppliedMigrationsState as Tt, applyOperationsToPrismaSchema as U, RelationConstraint as Ua, SimplePaginationMeta as Ui, resolveCast as Un, ArkormDebugEvent as Ur, PersistedTableMetadata as Ut, applyMigrationToDatabase as V, RelationTableLoader as Va, RuntimeClientLike as Vi, InitCommand as Vn, ArkormBootContext as Vr, PersistedMetadataFeatures as Vt, buildEnumBlock as W, RelationDefaultResolver as Wa, SoftDeleteConfig as Wi, Attribute as Wn, ArkormDebugHandler as Wr, PersistedTimestampColumn as Wt, buildRelationLine as X, FactoryDefinition as Xa, RelationshipModelStatic as Xi, KyselyDatabaseAdapter as Xn, DelegateCreateData as Xr, getPersistedEnumTsType as Xt, buildModelBlock as Y, FactoryAttributes as Ya, ModelStatic as Yi, createPrismaDatabaseAdapter as Yn, ClientResolver as Yr, getPersistedEnumMap as Yt, createMigrationTimestamp as Z, FactoryModelConstructor as Za, QueryBuilder as Zi, createKyselyAdapter as Zn, DelegateFindManyArgs as Zr, getPersistedPrimaryKeyGeneration as Zt, getActiveTransactionClient as _, ModelEventListener as _a, PrismaClientLike as _i, ArkormErrorContext as _n, AppliedMigrationsState as _o, InsertSpec as _r, stripPrismaSchemaModelsAndEnums as _t, resolveRuntimeCompatibilityQuerySchema as a, AttributeUpdateInput as aa, DelegateUpdateData as ai, syncPersistedColumnMappingsFromState as an, HasManyThroughRelationMetadata as ao, AdapterTransactionContext as ar, findModelBlock as at, getRuntimeClient as b, ModelRelationshipKey as ba, PrismaLikeInclude as bi, SEEDER_BRAND as bn, MigrationClass as bo, QueryCondition as br, toMigrationFileSlug as bt, createPrismaAdapter as c, GlobalScope as ca, EagerLoadMap as ci, UnsupportedAdapterFeatureException as cn, ModelMetadata as co, AggregateSpec as cr, formatRelationAction as ct, bindAdapterToModels as d, ModelAttributesOf as da, ModelTableCase as di, RelationResolutionException as dn, MorphToManyRelationMetadata as do, DatabaseRow as dr, pad as dt, AttributeCreateInput as ea, DelegateRow as ei, readPersistedColumnMappingsState as en, DatabaseTablePersistedMetadataOptions as eo, AdapterInspectionRequest as er, deriveRelationAlias as et, configureArkormRuntime as f, ModelCreateData as fa, PaginationCurrentPageResolver as fi, QueryExecutionException as fn, PivotModelStatic as fo, DatabaseRows as fr, resolveEnumName as ft, getActiveTransactionAdapter as g, ModelEventHandlerConstructor as ga, PaginationURLDriverFactory as gi, MissingDelegateException as gn, AppliedMigrationRun as go, InsertManySpec as gr, runPrismaCommand as gt, ensureArkormConfigLoading as h, ModelEventHandler as ha, PaginationURLDriver as hi, ModelNotFoundException as hn, AppliedMigrationEntry as ho, DeleteSpec as hr, runMigrationWithPrisma as ht, getRuntimeCompatibilityAdapter as i, AttributeSelect as ia, DelegateUpdateArgs as ii, resolvePersistedMetadataFeatures as in, HasManyRelationMetadata as io, AdapterQueryOperation as ir, findEnumBlock as it, runArkormTransaction as j, MorphOneRelation as ja, QuerySchemaFindManyArgs as ji, SeedCommand as jn, SchemaTableAlterOperation as jo, RelationLoadPlan as jr, markMigrationApplied as jt, loadArkormConfig as k, SetBasedEagerLoader as ka, PrismaTransactionOptions as ki, TableBuilder as kn, SchemaIndex as ko, RelationAggregateSpec as kr, getLatestAppliedMigrations as kt, createPrismaDelegateMap as l, ModelAttributeValue as la, GetUserConfig as li, UniqueConstraintResolutionException as ln, MorphManyRelationMetadata as lo, DatabaseAdapter as lr, generateMigrationFile as lt, emitRuntimeDebugEvent as m, ModelEventDispatcher as ma, PaginationOptions as mi, QueryConstraintException as mn, RelationMetadataType as mo, DeleteManySpec as mr, resolvePrismaType as mt, PivotModel as n, AttributeQuerySchema as na, DelegateSelect as ni, resetPersistedColumnMappingsCache as nn, BelongsToRelationMetadata as no, AdapterModelIntrospectionOptions as nr, deriveSingularFieldName as nt, resolveRuntimeCompatibilityQuerySchemaOrThrow as o, AttributeWhereInput as oa, DelegateWhere as oi, validatePersistedMetadataFeaturesForMigrations as on, HasOneRelationMetadata as oo, AggregateOperation as or, formatDefaultValue as ot, defineConfig as p, ModelDeclaredAttributeKey as pa, PaginationMeta as pi, QueryExecutionExceptionContext as pn, RelationMetadata as po, DatabaseValue as pr, resolveMigrationClassName as pt, buildInverseRelationLine as q, RelationTableLookupSpec as qa, TransactionContext as qi, PrismaDelegateNameMapping as qn, CastMap as qr, deletePersistedColumnMappingsState as qt, RuntimeModuleLoader as r, AttributeSchemaDelegate as ra, DelegateUniqueWhere as ri, resolveColumnMappingsFilePath as rn, ColumnMap as ro, AdapterModelStructure as rr, escapeRegex as rt, PrismaDelegateMap as s, DelegateForModelSchema as sa, EagerLoadConstraint as si, writePersistedColumnMappingsState as sn, HasOneThroughRelationMetadata as so, AggregateSelection as sr, formatEnumDefaultValue as st, URLDriver as t, AttributeOrderBy as ta, DelegateRows as ti, rebuildPersistedColumnMappingsState as tn, BelongsToManyRelationMetadata as to, AdapterModelFieldStructure as tr, deriveRelationFieldName as tt, inferDelegateName as u, ModelAttributes as ua, ModelQuerySchemaLike as ui, ScopeNotDefinedException as un, MorphOneRelationMetadata as uo, DatabasePrimitive as ur, getMigrationPlan as ut, getDefaultStubsPath as v, ModelEventName as va, PrismaDelegateLike as vi, ArkormException as vn, GenerateMigrationOptions as vo, QueryComparisonCondition as vr, supportsDatabaseMigrationExecution as vt, getRuntimePrismaClient as w, RelatedModelClass as wa, PrismaLikeSortOrder as wi, SeederInput as wn, PrismaSchemaSyncOptions as wo, QueryOrderBy as wr, computeMigrationChecksum as wt, getRuntimeDebugHandler as x, ModelRelationshipResult as xa, PrismaLikeOrderBy as xi, Seeder as xn, MigrationInstanceLike as xo, QueryGroupCondition as xr, toModelName as xt, getRuntimeAdapter as y, ModelLifecycleState as ya, PrismaFindManyArgsLike as yi, DB as yn, GeneratedMigrationFile as yo, QueryComparisonOperator as yr, supportsDatabaseReset as yt, applyMigrationRollbackToDatabase as z, BelongsToManyRelation as za, QuerySchemaUpdateData as zi, MakeMigrationCommand as zn, AdapterBindableModel as zr, writeAppliedMigrationsStateToStore as zt };
5494
+ export { deriveInverseRelationAlias as $, FactoryModelConstructor as $a, QueryBuilder as $i, AdapterCapabilities as $n, DelegateFindManyArgs as $r, getPersistedTableMetadata as $t, resetArkormRuntimeForTests as A, defineFactory as Aa, PrismaTransactionContext as Ai, TableBuilder as An, SchemaForeignKeyAction as Ao, RawQuerySpec as Ar, getLatestAppliedMigrations as At, applyMigrationRollbackToPrismaSchema as B, SingleResultRelation as Ba, QuerySchemaUpdateArgs as Bi, MakeMigrationCommand as Bn, UpsertSpec as Br, writeAppliedMigrationsStateToStore as Bt, getRuntimePaginationURLDriverFactory as C, ModelRelationshipResult as Ca, PrismaLikeOrderBy as Ci, SeederCallArgument as Cn, MigrationInstanceLike as Co, QueryGroupCondition as Cr, buildMigrationIdentity as Ct, isQuerySchemaLike as D, Model as Da, PrismaLikeWhereInput as Di, Migration as Dn, SchemaColumn as Do, QueryRawCondition as Dr, deleteAppliedMigrationsStateFromStore as Dt, isDelegateLike as E, RelatedModelClass as Ea, PrismaLikeSortOrder as Ei, MIGRATION_BRAND as En, PrismaSchemaSyncOptions as Eo, QueryOrderBy as Er, createEmptyAppliedMigrationsState as Et, PRISMA_MODEL_REGEX as F, HasOneThroughRelation as Fa, QuerySchemaOrderBy as Fi, MigrateRollbackCommand as Fn, SchemaTableDropOperation as Fo, SelectSpec as Fr, readAppliedMigrationsStateFromStore as Ft, buildFieldLine as G, RelationConstraint as Ga, SimplePaginationMeta as Gi, Attribute as Gn, ArkormDebugEvent as Gr, PersistedTimestampColumn as Gt, applyMigrationToPrismaSchema as H, Relation as Ha, QuerySchemaWhere as Hi, InitCommand as Hn, AdapterQueryInspection as Hr, PersistedMetadataFeatures as Ht, applyAlterTableOperation as I, HasOneRelation as Ia, QuerySchemaRow as Ii, MigrateFreshCommand as In, TimestampColumnBehavior as Io, SoftDeleteQueryMode as Ir, removeAppliedMigration as It, buildMigrationSource as J, RelationMetadataProvider as Ja, TransactionCapableClient as Ji, PrismaDelegateNameMapping as Jn, CastHandler as Jr, deletePersistedColumnMappingsState as Jt, buildIndexLine as K, RelationDefaultResolver as Ka, SoftDeleteConfig as Ki, AttributeOptions as Kn, ArkormDebugHandler as Kr, applyOperationsToPersistedColumnMappingsState as Kt, applyCreateTableOperation as L, HasManyThroughRelation as La, QuerySchemaRows as Li, MigrateCommand as Ln, SortDirection as Lr, resolveMigrationStateFilePath as Lt, PrimaryKeyGenerationPlanner as M, MorphToManyRelation as Ma, QuerySchemaCreateData as Mi, SeedCommand as Mn, SchemaOperation as Mo, RelationFilterSpec as Mr, markMigrationApplied as Mt, PRISMA_ENUM_MEMBER_REGEX as N, MorphOneRelation as Na, QuerySchemaFindManyArgs as Ni, ModelsSyncCommand as Nn, SchemaTableAlterOperation as No, RelationLoadPlan as Nr, markMigrationRun as Nt, isTransactionCapableClient as O, InlineFactory as Oa, PrismaTransactionCallback as Oi, SchemaBuilder as On, SchemaColumnType as Oo, QuerySelectColumn as Or, findAppliedMigration as Ot, PRISMA_ENUM_REGEX as P, MorphManyRelation as Pa, QuerySchemaInclude as Pi, MigrationHistoryCommand as Pn, SchemaTableCreateOperation as Po, RelationLoadSpec as Pr, readAppliedMigrationsState as Pt, deriveCollectionFieldName as Q, FactoryDefinition as Qa, RelationshipModelStatic as Qi, createKyselyAdapter as Qn, DelegateCreateData as Qr, getPersistedPrimaryKeyGeneration as Qt, applyDropTableOperation as R, HasManyRelation as Ra, QuerySchemaSelect as Ri, MakeSeederCommand as Rn, UpdateManySpec as Rr, supportsDatabaseMigrationState as Rt, getRuntimePaginationCurrentPageResolver as S, ModelRelationshipKey as Sa, PrismaLikeInclude as Si, Seeder as Sn, MigrationClass as So, QueryCondition as Sr, toModelName as St, getUserConfig as T, QuerySchemaForModel as Ta, PrismaLikeSelect as Ti, SeederInput as Tn, PrismaMigrationWorkflowOptions as To, QueryNotCondition as Tr, computeMigrationChecksum as Tt, applyOperationsToPrismaSchema as U, RelationTableLoader as Ua, RuntimeClientLike as Ui, CliApp as Un, ArkormBootContext as Ur, PersistedPrimaryKeyGeneration as Ut, applyMigrationToDatabase as V, BelongsToManyRelation as Va, QuerySchemaUpdateData as Vi, MakeFactoryCommand as Vn, AdapterBindableModel as Vr, PersistedColumnMappingsState as Vt, buildEnumBlock as W, RelationColumnLookupSpec as Wa, Serializable as Wi, resolveCast as Wn, ArkormConfig as Wr, PersistedTableMetadata as Wt, buildRelationLine as X, ArkormCollection as Xa, TransactionOptions as Xi, createPrismaDatabaseAdapter as Xn, CastType as Xr, getPersistedEnumMap as Xt, buildModelBlock as Y, RelationTableLookupSpec as Ya, TransactionContext as Yi, createPrismaCompatibilityAdapter as Yn, CastMap as Yr, getPersistedColumnMap as Yt, createMigrationTimestamp as Z, FactoryAttributes as Za, ModelStatic as Zi, KyselyDatabaseAdapter as Zn, ClientResolver as Zr, getPersistedEnumTsType as Zt, getActiveTransactionClient as _, ModelEventHandler as _a, PaginationURLDriver as _i, MissingDelegateException as _n, AppliedMigrationEntry as _o, DeleteSpec as _r, stripPrismaSchemaModelsAndEnums as _t, resolveRuntimeCompatibilityQuerySchema as a, AttributeSchemaDelegate as aa, DelegateUniqueWhere as ai, resolvePersistedMetadataFeatures as an, ColumnMap as ao, AdapterModelStructure as ar, findModelBlock as at, getRuntimeClient as b, ModelEventName as ba, PrismaDelegateLike as bi, DB as bn, GenerateMigrationOptions as bo, QueryComparisonCondition as br, supportsDatabaseReset as bt, createPrismaAdapter as c, AttributeWhereInput as ca, DelegateWhere as ci, writePersistedColumnMappingsState as cn, HasOneRelationMetadata as co, AggregateOperation as cr, formatRelationAction as ct, bindAdapterToModels as d, ModelAttributeValue as da, GetUserConfig as di, ScopeNotDefinedException as dn, MorphManyRelationMetadata as do, DatabaseAdapter as dr, pad as dt, LengthAwarePaginator as ea, DelegateInclude as ei, getPersistedTimestampColumns as en, FactoryState as eo, AdapterCapability as er, deriveRelationAlias as et, configureArkormRuntime as f, ModelAttributes as fa, ModelQuerySchemaLike as fi, RelationResolutionException as fn, MorphOneRelationMetadata as fo, DatabasePrimitive as fr, resolveEnumName as ft, getActiveTransactionAdapter as g, ModelEventDispatcher as ga, PaginationOptions as gi, ModelNotFoundException as gn, RelationMetadataType as go, DeleteManySpec as gr, runPrismaCommand as gt, ensureArkormConfigLoading as h, ModelDeclaredAttributeKey as ha, PaginationMeta as hi, QueryConstraintException as hn, RelationMetadata as ho, DatabaseValue as hr, runMigrationWithPrisma as ht, getRuntimeCompatibilityAdapter as i, AttributeQuerySchema as ia, DelegateSelect as ii, resolveColumnMappingsFilePath as in, BelongsToRelationMetadata as io, AdapterModelIntrospectionOptions as ir, findEnumBlock as it, runArkormTransaction as j, SetBasedEagerLoader as ja, PrismaTransactionOptions as ji, ForeignKeyBuilder as jn, SchemaIndex as jo, RelationAggregateSpec as jr, isMigrationApplied as jt, loadArkormConfig as k, ModelFactory as ka, PrismaTransactionCapableClient as ki, EnumBuilder as kn, SchemaForeignKey as ko, QueryTarget as kr, getLastMigrationRun as kt, createPrismaDelegateMap as l, DelegateForModelSchema as la, EagerLoadConstraint as li, UnsupportedAdapterFeatureException as ln, HasOneThroughRelationMetadata as lo, AggregateSelection as lr, generateMigrationFile as lt, emitRuntimeDebugEvent as m, ModelCreateData as ma, PaginationCurrentPageResolver as mi, QueryExecutionExceptionContext as mn, PivotModelStatic as mo, DatabaseRows as mr, resolvePrismaType as mt, PivotModel as n, AttributeCreateInput as na, DelegateRow as ni, rebuildPersistedColumnMappingsState as nn, DatabaseTablePersistedMetadataOptions as no, AdapterInspectionRequest as nr, deriveSingularFieldName as nt, resolveRuntimeCompatibilityQuerySchemaOrThrow as o, AttributeSelect as oa, DelegateUpdateArgs as oi, syncPersistedColumnMappingsFromState as on, HasManyRelationMetadata as oo, AdapterQueryOperation as or, formatDefaultValue as ot, defineConfig as p, ModelAttributesOf as pa, ModelTableCase as pi, QueryExecutionException as pn, MorphToManyRelationMetadata as po, DatabaseRow as pr, resolveMigrationClassName as pt, buildInverseRelationLine as q, RelationDefaultValue as qa, TransactionCallback as qi, PrismaDatabaseAdapter as qn, CastDefinition as qr, createEmptyPersistedColumnMappingsState as qt, RuntimeModuleLoader as r, AttributeOrderBy as ra, DelegateRows as ri, resetPersistedColumnMappingsCache as rn, BelongsToManyRelationMetadata as ro, AdapterModelFieldStructure as rr, escapeRegex as rt, PrismaDelegateMap as s, AttributeUpdateInput as sa, DelegateUpdateData as si, validatePersistedMetadataFeaturesForMigrations as sn, HasManyThroughRelationMetadata as so, AdapterTransactionContext as sr, formatEnumDefaultValue as st, URLDriver as t, Paginator as ta, DelegateOrderBy as ti, readPersistedColumnMappingsState as tn, DatabaseTableOptions as to, AdapterDatabaseCreationResult as tr, deriveRelationFieldName as tt, inferDelegateName as u, GlobalScope as ua, EagerLoadMap as ui, UniqueConstraintResolutionException as un, ModelMetadata as uo, AggregateSpec as ur, getMigrationPlan as ut, getDefaultStubsPath as v, ModelEventHandlerConstructor as va, PaginationURLDriverFactory as vi, ArkormErrorContext as vn, AppliedMigrationRun as vo, InsertManySpec as vr, supportsDatabaseCreation as vt, getRuntimePrismaClient as w, ModelUpdateData as wa, PrismaLikeScalarFilter as wi, SeederConstructor as wn, PrimaryKeyGeneration as wo, QueryLogicalOperator as wr, buildMigrationRunId as wt, getRuntimeDebugHandler as x, ModelLifecycleState as xa, PrismaFindManyArgsLike as xi, SEEDER_BRAND as xn, GeneratedMigrationFile as xo, QueryComparisonOperator as xr, toMigrationFileSlug as xt, getRuntimeAdapter as y, ModelEventListener as ya, PrismaClientLike as yi, ArkormException as yn, AppliedMigrationsState as yo, InsertSpec as yr, supportsDatabaseMigrationExecution as yt, applyMigrationRollbackToDatabase as z, BelongsToRelation as za, QuerySchemaUniqueWhere as zi, MakeModelCommand as zn, UpdateSpec as zr, writeAppliedMigrationsState as zt };