rake-db 2.15.10 → 2.16.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/index.d.ts +60 -16
- package/dist/index.js +83 -36
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +83 -37
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -1005,10 +1005,12 @@ interface RakeDbConfig<SchemaConfig extends ColumnSchemaConfig, CT = DefaultColu
|
|
|
1005
1005
|
useCodeUpdater?: boolean;
|
|
1006
1006
|
forceDefaultExports?: boolean;
|
|
1007
1007
|
import(path: string): Promise<unknown>;
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1008
|
+
beforeChange?(db: Db, up: boolean, redo: boolean): void | Promise<void>;
|
|
1009
|
+
afterChange?(db: Db, up: boolean, redo: boolean): void | Promise<void>;
|
|
1010
|
+
beforeMigrate?(db: Db): void | Promise<void>;
|
|
1011
|
+
afterMigrate?(db: Db): void | Promise<void>;
|
|
1012
|
+
beforeRollback?(db: Db): void | Promise<void>;
|
|
1013
|
+
afterRollback?(db: Db): void | Promise<void>;
|
|
1012
1014
|
}
|
|
1013
1015
|
interface InputRakeDbConfig<SchemaConfig extends ColumnSchemaConfig, CT> extends QueryLogOptions {
|
|
1014
1016
|
columnTypes?: CT | ((t: DefaultColumnTypes<DefaultSchemaConfig>) => CT);
|
|
@@ -1029,10 +1031,46 @@ interface InputRakeDbConfig<SchemaConfig extends ColumnSchemaConfig, CT> extends
|
|
|
1029
1031
|
useCodeUpdater?: boolean;
|
|
1030
1032
|
forceDefaultExports?: boolean;
|
|
1031
1033
|
import?(path: string): Promise<unknown>;
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1034
|
+
/**
|
|
1035
|
+
* Is called once before migrating (up) or rolling back one or more migrations.
|
|
1036
|
+
*
|
|
1037
|
+
* @param db - query builder
|
|
1038
|
+
* @param up - whether it's migrating up or down
|
|
1039
|
+
* @param redo - whether it's migrating down and then up for `redo` command
|
|
1040
|
+
*/
|
|
1041
|
+
beforeChange?(db: Db, up: boolean, redo: boolean): void | Promise<void>;
|
|
1042
|
+
/**
|
|
1043
|
+
* Is called once after migrating (up) or rolling back one or more migrations.
|
|
1044
|
+
*
|
|
1045
|
+
* @param db - query builder
|
|
1046
|
+
* @param up - whether it's migrating up or down
|
|
1047
|
+
* @param redo - whether it's migrating down and then up for `redo` command
|
|
1048
|
+
*/
|
|
1049
|
+
afterChange?(db: Db, up: boolean, redo: boolean): void | Promise<void>;
|
|
1050
|
+
/**
|
|
1051
|
+
* Is called once before migrating (up) one or more migrations.
|
|
1052
|
+
*
|
|
1053
|
+
* @param db - query builder
|
|
1054
|
+
*/
|
|
1055
|
+
beforeMigrate?(db: Db): void | Promise<void>;
|
|
1056
|
+
/**
|
|
1057
|
+
* Is called once after migrating (up) one or more migrations.
|
|
1058
|
+
*
|
|
1059
|
+
* @param db - query builder
|
|
1060
|
+
*/
|
|
1061
|
+
afterMigrate?(db: Db): void | Promise<void>;
|
|
1062
|
+
/**
|
|
1063
|
+
* Is called once before rolling back one or more migrations.
|
|
1064
|
+
*
|
|
1065
|
+
* @param db - query builder
|
|
1066
|
+
*/
|
|
1067
|
+
beforeRollback?(db: Db): void | Promise<void>;
|
|
1068
|
+
/**
|
|
1069
|
+
* Is called once before rolling back one or more migrations.
|
|
1070
|
+
*
|
|
1071
|
+
* @param db - query builder
|
|
1072
|
+
*/
|
|
1073
|
+
afterRollback?(db: Db): void | Promise<void>;
|
|
1036
1074
|
}
|
|
1037
1075
|
type AnyRakeDbConfig = RakeDbConfig<any, any>;
|
|
1038
1076
|
type Db = DbResult<RakeDbColumnTypes>;
|
|
@@ -1085,9 +1123,9 @@ declare const getDatabaseAndUserFromOptions: (options: AdapterOptions) => {
|
|
|
1085
1123
|
user: string;
|
|
1086
1124
|
};
|
|
1087
1125
|
|
|
1088
|
-
declare const createDb: <SchemaConfig extends ColumnSchemaConfig<orchid_core.ColumnTypeBase<orchid_core.ColumnTypeSchemaArg, unknown, any, orchid_core.CoreBaseOperators, unknown, unknown, any, unknown, any, orchid_core.ColumnDataBase>>, CT>(
|
|
1089
|
-
declare const dropDb: <SchemaConfig extends ColumnSchemaConfig<orchid_core.ColumnTypeBase<orchid_core.ColumnTypeSchemaArg, unknown, any, orchid_core.CoreBaseOperators, unknown, unknown, any, unknown, any, orchid_core.ColumnDataBase>>, CT>(
|
|
1090
|
-
declare const resetDb: <SchemaConfig extends ColumnSchemaConfig<orchid_core.ColumnTypeBase<orchid_core.ColumnTypeSchemaArg, unknown, any, orchid_core.CoreBaseOperators, unknown, unknown, any, unknown, any, orchid_core.ColumnDataBase>>, CT extends RakeDbColumnTypes>(
|
|
1126
|
+
declare const createDb: <SchemaConfig extends ColumnSchemaConfig<orchid_core.ColumnTypeBase<orchid_core.ColumnTypeSchemaArg, unknown, any, orchid_core.CoreBaseOperators, unknown, unknown, any, unknown, any, orchid_core.ColumnDataBase>>, CT>(options: AdapterOptions[], config: RakeDbConfig<SchemaConfig, CT>) => Promise<void>;
|
|
1127
|
+
declare const dropDb: <SchemaConfig extends ColumnSchemaConfig<orchid_core.ColumnTypeBase<orchid_core.ColumnTypeSchemaArg, unknown, any, orchid_core.CoreBaseOperators, unknown, unknown, any, unknown, any, orchid_core.ColumnDataBase>>, CT>(options: AdapterOptions[], config: RakeDbConfig<SchemaConfig, CT>) => Promise<void>;
|
|
1128
|
+
declare const resetDb: <SchemaConfig extends ColumnSchemaConfig<orchid_core.ColumnTypeBase<orchid_core.ColumnTypeSchemaArg, unknown, any, orchid_core.CoreBaseOperators, unknown, unknown, any, unknown, any, orchid_core.ColumnDataBase>>, CT extends RakeDbColumnTypes>(options: AdapterOptions[], config: RakeDbConfig<SchemaConfig, CT>) => Promise<void>;
|
|
1091
1129
|
|
|
1092
1130
|
interface MigrationItem {
|
|
1093
1131
|
path: string;
|
|
@@ -1126,7 +1164,7 @@ type RakeDbAppliedVersions = {
|
|
|
1126
1164
|
declare const getMigratedVersionsMap: <SchemaConfig extends ColumnSchemaConfig<orchid_core.ColumnTypeBase<orchid_core.ColumnTypeSchemaArg, unknown, any, orchid_core.CoreBaseOperators, unknown, unknown, any, unknown, any, orchid_core.ColumnDataBase>>, CT>(ctx: RakeDbCtx, adapter: Adapter | TransactionAdapter, config: RakeDbConfig<SchemaConfig, CT>, renameTo?: RakeDbMigrationId) => Promise<RakeDbAppliedVersions>;
|
|
1127
1165
|
|
|
1128
1166
|
declare const RAKE_DB_LOCK_KEY = "8582141715823621641";
|
|
1129
|
-
type MigrateFn = <SchemaConfig extends ColumnSchemaConfig, CT extends RakeDbColumnTypes>(ctx: RakeDbCtx, options:
|
|
1167
|
+
type MigrateFn = <SchemaConfig extends ColumnSchemaConfig, CT extends RakeDbColumnTypes>(ctx: RakeDbCtx, options: AdapterOptions[], config: RakeDbConfig<SchemaConfig, CT>, args?: string[]) => Promise<void>;
|
|
1130
1168
|
/**
|
|
1131
1169
|
* Will run all pending yet migrations, sequentially in order,
|
|
1132
1170
|
* will apply `change` functions top-to-bottom.
|
|
@@ -1149,7 +1187,7 @@ declare const rollback: MigrateFn;
|
|
|
1149
1187
|
* Takes the same options as {@link migrate}.
|
|
1150
1188
|
*/
|
|
1151
1189
|
declare const redo: MigrateFn;
|
|
1152
|
-
declare const migrateOrRollback: (trx: TransactionAdapter, config: RakeDbConfig<ColumnSchemaConfig, RakeDbColumnTypes>, set: MigrationsSet, versions: RakeDbAppliedVersions, count: number, asts: RakeDbAst[], up: boolean, force?: boolean, skipLock?: boolean) => Promise<void>;
|
|
1190
|
+
declare const migrateOrRollback: (trx: TransactionAdapter, config: RakeDbConfig<ColumnSchemaConfig, RakeDbColumnTypes>, set: MigrationsSet, versions: RakeDbAppliedVersions, count: number, asts: RakeDbAst[], up: boolean, redo: boolean, force?: boolean, skipLock?: boolean) => Promise<void>;
|
|
1153
1191
|
declare const changeCache: Record<string, ChangeCallback<RakeDbColumnTypes>[] | undefined>;
|
|
1154
1192
|
|
|
1155
1193
|
/**
|
|
@@ -1167,14 +1205,19 @@ type RakeDbFn = (<SchemaConfig extends ColumnSchemaConfig, CT extends RakeDbColu
|
|
|
1167
1205
|
lazy: RakeDbLazyFn;
|
|
1168
1206
|
};
|
|
1169
1207
|
type RakeDbFnReturns<CT extends RakeDbColumnTypes | undefined> = RakeDbChangeFn<CT extends undefined ? DefaultColumnTypes<DefaultSchemaConfig> : CT> & {
|
|
1170
|
-
promise: Promise<
|
|
1208
|
+
promise: Promise<RakeDbResult>;
|
|
1171
1209
|
};
|
|
1210
|
+
interface RakeDbResult {
|
|
1211
|
+
options: AdapterOptions[];
|
|
1212
|
+
config: AnyRakeDbConfig;
|
|
1213
|
+
args: string[];
|
|
1214
|
+
}
|
|
1172
1215
|
/**
|
|
1173
1216
|
* Type of {@link rakeDb.lazy} function
|
|
1174
1217
|
*/
|
|
1175
1218
|
type RakeDbLazyFn = <SchemaConfig extends ColumnSchemaConfig, CT extends RakeDbColumnTypes>(options: MaybeArray<AdapterOptions>, partialConfig?: InputRakeDbConfig<SchemaConfig, CT>) => {
|
|
1176
1219
|
change: RakeDbChangeFn<CT>;
|
|
1177
|
-
run(args: string[], config?: Partial<RakeDbConfig<SchemaConfig, CT>>): Promise<
|
|
1220
|
+
run(args: string[], config?: Partial<RakeDbConfig<SchemaConfig, CT>>): Promise<RakeDbResult>;
|
|
1178
1221
|
};
|
|
1179
1222
|
/**
|
|
1180
1223
|
* Function to use in migrations to wrap database changes
|
|
@@ -1190,5 +1233,6 @@ type RakeDbChangeFn<CT extends RakeDbColumnTypes> = (fn: ChangeCallback<CT>) =>
|
|
|
1190
1233
|
* @param args - optionally provide an array of cli args. Default is `process.argv.slice(2)`.
|
|
1191
1234
|
*/
|
|
1192
1235
|
declare const rakeDb: RakeDbFn;
|
|
1236
|
+
declare const rakeDbAliases: RecordOptionalString;
|
|
1193
1237
|
|
|
1194
|
-
export { AnyRakeDbConfig, AppCodeUpdater, AppCodeUpdaterParams, ChangeTableCallback, ChangeTableOptions, ColumnComment, ColumnsShapeCallback, ConstraintArg, DbMigration, DropMode, InputRakeDbConfig, Migration, MigrationAdapter, MigrationColumnTypes, ModuleExportsRecord, NoMigrationsTableError, RAKE_DB_LOCK_KEY, RakeDbAppliedVersions, RakeDbAst, RakeDbBaseTable, RakeDbChangeFn, RakeDbColumnTypes, RakeDbConfig, RakeDbFn, RakeDbFnReturns, RakeDbLazyFn, RakeDbMigrationId, SilentQueries, TableOptions, changeCache, createDb, createMigrationInterface, deleteMigratedVersion, dropDb, generate, generateTimeStamp, getDatabaseAndUserFromOptions, getMigratedVersionsMap, makeFileVersion, migrate, migrateOrRollback, migrationConfigDefaults, processRakeDbConfig, rakeDb, redo, resetDb, rollback, saveMigratedVersion, writeMigrationFile };
|
|
1238
|
+
export { AnyRakeDbConfig, AppCodeUpdater, AppCodeUpdaterParams, ChangeTableCallback, ChangeTableOptions, ColumnComment, ColumnsShapeCallback, ConstraintArg, DbMigration, DropMode, InputRakeDbConfig, Migration, MigrationAdapter, MigrationColumnTypes, ModuleExportsRecord, NoMigrationsTableError, RAKE_DB_LOCK_KEY, RakeDbAppliedVersions, RakeDbAst, RakeDbBaseTable, RakeDbChangeFn, RakeDbColumnTypes, RakeDbConfig, RakeDbFn, RakeDbFnReturns, RakeDbLazyFn, RakeDbMigrationId, RakeDbResult, SilentQueries, TableOptions, changeCache, createDb, createMigrationInterface, deleteMigratedVersion, dropDb, generate, generateTimeStamp, getDatabaseAndUserFromOptions, getMigratedVersionsMap, makeFileVersion, migrate, migrateOrRollback, migrationConfigDefaults, processRakeDbConfig, rakeDb, rakeDbAliases, redo, resetDb, rollback, saveMigratedVersion, writeMigrationFile };
|
package/dist/index.js
CHANGED
|
@@ -2428,9 +2428,8 @@ function makeMigrateFn(defaultCount, up, fn) {
|
|
|
2428
2428
|
const asts = [];
|
|
2429
2429
|
const appCodeUpdaterCache = {};
|
|
2430
2430
|
const { appCodeUpdater } = conf;
|
|
2431
|
-
const arrOptions = orchidCore.toArray(options);
|
|
2432
2431
|
let localAsts = asts;
|
|
2433
|
-
for (const opts of
|
|
2432
|
+
for (const opts of options) {
|
|
2434
2433
|
const adapter = new pqb.Adapter(opts);
|
|
2435
2434
|
try {
|
|
2436
2435
|
await transaction(adapter, async (trx) => {
|
|
@@ -2480,7 +2479,7 @@ function makeMigrateFn(defaultCount, up, fn) {
|
|
|
2480
2479
|
localAsts = [];
|
|
2481
2480
|
}
|
|
2482
2481
|
await runCodeUpdaterAfterAll(
|
|
2483
|
-
|
|
2482
|
+
options[0],
|
|
2484
2483
|
config,
|
|
2485
2484
|
appCodeUpdater,
|
|
2486
2485
|
asts,
|
|
@@ -2491,19 +2490,48 @@ function makeMigrateFn(defaultCount, up, fn) {
|
|
|
2491
2490
|
const migrate = makeMigrateFn(
|
|
2492
2491
|
Infinity,
|
|
2493
2492
|
true,
|
|
2494
|
-
(trx, config, set, versions, count, asts, force) => migrateOrRollback(
|
|
2493
|
+
(trx, config, set, versions, count, asts, force) => migrateOrRollback(
|
|
2494
|
+
trx,
|
|
2495
|
+
config,
|
|
2496
|
+
set,
|
|
2497
|
+
versions,
|
|
2498
|
+
count,
|
|
2499
|
+
asts,
|
|
2500
|
+
true,
|
|
2501
|
+
false,
|
|
2502
|
+
force
|
|
2503
|
+
)
|
|
2495
2504
|
);
|
|
2496
2505
|
const rollback = makeMigrateFn(
|
|
2497
2506
|
1,
|
|
2498
2507
|
false,
|
|
2499
|
-
(trx, config, set, versions, count, asts, force) => migrateOrRollback(
|
|
2508
|
+
(trx, config, set, versions, count, asts, force) => migrateOrRollback(
|
|
2509
|
+
trx,
|
|
2510
|
+
config,
|
|
2511
|
+
set,
|
|
2512
|
+
versions,
|
|
2513
|
+
count,
|
|
2514
|
+
asts,
|
|
2515
|
+
false,
|
|
2516
|
+
false,
|
|
2517
|
+
force
|
|
2518
|
+
)
|
|
2500
2519
|
);
|
|
2501
2520
|
const redo = makeMigrateFn(
|
|
2502
2521
|
1,
|
|
2503
2522
|
true,
|
|
2504
2523
|
async (trx, config, set, versions, count, asts, force) => {
|
|
2505
2524
|
set.migrations.reverse();
|
|
2506
|
-
await migrateOrRollback(
|
|
2525
|
+
await migrateOrRollback(
|
|
2526
|
+
trx,
|
|
2527
|
+
config,
|
|
2528
|
+
set,
|
|
2529
|
+
versions,
|
|
2530
|
+
count,
|
|
2531
|
+
asts,
|
|
2532
|
+
false,
|
|
2533
|
+
true
|
|
2534
|
+
);
|
|
2507
2535
|
set.migrations.reverse();
|
|
2508
2536
|
await migrateOrRollback(
|
|
2509
2537
|
trx,
|
|
@@ -2513,6 +2541,7 @@ const redo = makeMigrateFn(
|
|
|
2513
2541
|
count,
|
|
2514
2542
|
asts,
|
|
2515
2543
|
true,
|
|
2544
|
+
true,
|
|
2516
2545
|
force,
|
|
2517
2546
|
true
|
|
2518
2547
|
);
|
|
@@ -2530,8 +2559,8 @@ function prepareConfig(config, args, hasArg) {
|
|
|
2530
2559
|
delete config.appCodeUpdater;
|
|
2531
2560
|
return config;
|
|
2532
2561
|
}
|
|
2533
|
-
const migrateOrRollback = async (trx, config, set, versions, count, asts, up, force, skipLock) => {
|
|
2534
|
-
var _a, _b, _c;
|
|
2562
|
+
const migrateOrRollback = async (trx, config, set, versions, count, asts, up, redo2, force, skipLock) => {
|
|
2563
|
+
var _a, _b, _c, _d, _e;
|
|
2535
2564
|
const { sequence, map: versionsMap } = versions;
|
|
2536
2565
|
if (up) {
|
|
2537
2566
|
const rollbackTo = checkMigrationOrder(config, set, versions, force);
|
|
@@ -2553,7 +2582,8 @@ const migrateOrRollback = async (trx, config, set, versions, count, asts, up, fo
|
|
|
2553
2582
|
versions,
|
|
2554
2583
|
sequence.length - i,
|
|
2555
2584
|
asts,
|
|
2556
|
-
false
|
|
2585
|
+
false,
|
|
2586
|
+
redo2
|
|
2557
2587
|
);
|
|
2558
2588
|
set.migrations.reverse();
|
|
2559
2589
|
}
|
|
@@ -2562,6 +2592,7 @@ const migrateOrRollback = async (trx, config, set, versions, count, asts, up, fo
|
|
|
2562
2592
|
await queryLock(trx);
|
|
2563
2593
|
let db;
|
|
2564
2594
|
await ((_a = config[up ? "beforeMigrate" : "beforeRollback"]) == null ? void 0 : _a.call(config, db != null ? db : db = getDb(trx)));
|
|
2595
|
+
await ((_b = config.beforeChange) == null ? void 0 : _b.call(config, db != null ? db : db = getDb(trx), up, redo2));
|
|
2565
2596
|
for (const file of set.migrations) {
|
|
2566
2597
|
if (up && versionsMap[file.version] || !up && !versionsMap[file.version]) {
|
|
2567
2598
|
continue;
|
|
@@ -2577,11 +2608,12 @@ const migrateOrRollback = async (trx, config, set, versions, count, asts, up, fo
|
|
|
2577
2608
|
versionsMap[file.version] = void 0;
|
|
2578
2609
|
sequence.pop();
|
|
2579
2610
|
}
|
|
2580
|
-
(
|
|
2611
|
+
(_c = config.logger) == null ? void 0 : _c.log(
|
|
2581
2612
|
`${up ? "Migrated" : "Rolled back"} ${orchidCore.pathToLog(file.path)}`
|
|
2582
2613
|
);
|
|
2583
2614
|
}
|
|
2584
|
-
await ((
|
|
2615
|
+
await ((_d = config.afterChange) == null ? void 0 : _d.call(config, db != null ? db : db = getDb(trx), up, redo2));
|
|
2616
|
+
await ((_e = config[up ? "afterMigrate" : "afterRollback"]) == null ? void 0 : _e.call(config, db != null ? db : db = getDb(trx)));
|
|
2585
2617
|
};
|
|
2586
2618
|
const checkMigrationOrder = (config, set, { sequence, map }, force) => {
|
|
2587
2619
|
const last = sequence[sequence.length - 1];
|
|
@@ -2896,9 +2928,9 @@ Don't use this command for database service providers, only for a local db.`;
|
|
|
2896
2928
|
await createMigrationsTable(db, config);
|
|
2897
2929
|
await db.close();
|
|
2898
2930
|
};
|
|
2899
|
-
const createDb = async (
|
|
2900
|
-
for (const
|
|
2901
|
-
await createOrDrop(
|
|
2931
|
+
const createDb = async (options, config) => {
|
|
2932
|
+
for (const opts of options) {
|
|
2933
|
+
await createOrDrop(opts, opts, config, {
|
|
2902
2934
|
sql({ database, user }) {
|
|
2903
2935
|
return `CREATE DATABASE "${database}"${user ? ` OWNER "${user}"` : ""}`;
|
|
2904
2936
|
},
|
|
@@ -2912,9 +2944,9 @@ const createDb = async (arg, config) => {
|
|
|
2912
2944
|
});
|
|
2913
2945
|
}
|
|
2914
2946
|
};
|
|
2915
|
-
const dropDb = async (
|
|
2916
|
-
for (const
|
|
2917
|
-
await createOrDrop(
|
|
2947
|
+
const dropDb = async (options, config) => {
|
|
2948
|
+
for (const opts of options) {
|
|
2949
|
+
await createOrDrop(opts, opts, config, {
|
|
2918
2950
|
sql({ database }) {
|
|
2919
2951
|
return `DROP DATABASE "${database}"`;
|
|
2920
2952
|
},
|
|
@@ -2927,10 +2959,10 @@ const dropDb = async (arg, config) => {
|
|
|
2927
2959
|
});
|
|
2928
2960
|
}
|
|
2929
2961
|
};
|
|
2930
|
-
const resetDb = async (
|
|
2931
|
-
await dropDb(
|
|
2932
|
-
await createDb(
|
|
2933
|
-
await migrate({},
|
|
2962
|
+
const resetDb = async (options, config) => {
|
|
2963
|
+
await dropDb(options, config);
|
|
2964
|
+
await createDb(options, config);
|
|
2965
|
+
await migrate({}, options, config);
|
|
2934
2966
|
};
|
|
2935
2967
|
|
|
2936
2968
|
const filterSchema = (table) => `${table} !~ '^pg_' AND ${table} != 'information_schema'`;
|
|
@@ -4089,9 +4121,7 @@ const runRecurrentMigrations = async (options, config) => {
|
|
|
4089
4121
|
let files = 0;
|
|
4090
4122
|
await readdirRecursive(config.recurrentPath, async (path) => {
|
|
4091
4123
|
files++;
|
|
4092
|
-
dbs != null ? dbs : dbs =
|
|
4093
|
-
(opts) => pqb.createDb({ adapter: new pqb.Adapter(opts) })
|
|
4094
|
-
);
|
|
4124
|
+
dbs != null ? dbs : dbs = options.map((opts) => pqb.createDb({ adapter: new pqb.Adapter(opts) }));
|
|
4095
4125
|
const sql = await fs.readFile(path, "utf-8");
|
|
4096
4126
|
await Promise.all(
|
|
4097
4127
|
dbs.map(async (db) => {
|
|
@@ -4460,39 +4490,55 @@ function change(fn) {
|
|
|
4460
4490
|
pushChange(fn);
|
|
4461
4491
|
return fn;
|
|
4462
4492
|
}
|
|
4463
|
-
const
|
|
4493
|
+
const rakeDbAliases = {
|
|
4494
|
+
migrate: "up",
|
|
4495
|
+
rollback: "down",
|
|
4496
|
+
s: "status",
|
|
4497
|
+
rec: "recurrent"
|
|
4498
|
+
};
|
|
4499
|
+
const runCommand = async (opts, config, args = process.argv.slice(2)) => {
|
|
4464
4500
|
var _a, _b;
|
|
4465
|
-
|
|
4501
|
+
let arg = (_a = args[0]) == null ? void 0 : _a.split(":")[0];
|
|
4502
|
+
if (rakeDbAliases[arg]) {
|
|
4503
|
+
args = [...args];
|
|
4504
|
+
arg = args[0] = rakeDbAliases[arg];
|
|
4505
|
+
}
|
|
4506
|
+
const options = orchidCore.toArray(opts);
|
|
4466
4507
|
if (arg === "create") {
|
|
4467
4508
|
await createDb(options, config);
|
|
4468
4509
|
} else if (arg === "drop") {
|
|
4469
4510
|
await dropDb(options, config);
|
|
4470
4511
|
} else if (arg === "reset") {
|
|
4471
4512
|
await resetDb(options, config);
|
|
4472
|
-
} else if (arg === "up"
|
|
4513
|
+
} else if (arg === "up") {
|
|
4473
4514
|
await migrate({}, options, config, args.slice(1));
|
|
4474
|
-
} else if (arg === "down"
|
|
4515
|
+
} else if (arg === "down") {
|
|
4475
4516
|
await rollback({}, options, config, args.slice(1));
|
|
4476
4517
|
} else if (arg === "redo") {
|
|
4477
4518
|
await redo({}, options, config, args.slice(1));
|
|
4478
4519
|
} else if (arg === "new") {
|
|
4479
4520
|
await generate(config, args.slice(1));
|
|
4480
4521
|
} else if (arg === "pull") {
|
|
4481
|
-
await pullDbStructure(
|
|
4482
|
-
} else if (arg === "status"
|
|
4483
|
-
await listMigrationsStatuses(
|
|
4522
|
+
await pullDbStructure(options[0], config);
|
|
4523
|
+
} else if (arg === "status") {
|
|
4524
|
+
await listMigrationsStatuses(options, config, args.slice(1));
|
|
4484
4525
|
} else if (arg === "rebase") {
|
|
4485
|
-
await rebase(
|
|
4526
|
+
await rebase(options, config);
|
|
4486
4527
|
} else if (arg === "change-ids") {
|
|
4487
|
-
await changeIds(
|
|
4528
|
+
await changeIds(options, config, args.slice(1));
|
|
4488
4529
|
} else if (config.commands[arg]) {
|
|
4489
|
-
await config.commands[arg](
|
|
4490
|
-
} else if (arg !== "
|
|
4530
|
+
await config.commands[arg](options, config, args.slice(1));
|
|
4531
|
+
} else if (arg !== "recurrent") {
|
|
4491
4532
|
(_b = config.logger) == null ? void 0 : _b.log(help);
|
|
4492
4533
|
}
|
|
4493
|
-
if (arg === "
|
|
4534
|
+
if (arg === "up" || arg === "recurrent" || arg === "redo") {
|
|
4494
4535
|
await runRecurrentMigrations(options, config);
|
|
4495
4536
|
}
|
|
4537
|
+
return {
|
|
4538
|
+
options,
|
|
4539
|
+
config,
|
|
4540
|
+
args
|
|
4541
|
+
};
|
|
4496
4542
|
};
|
|
4497
4543
|
const help = `Usage: rake-db [command] [arguments]
|
|
4498
4544
|
|
|
@@ -4551,6 +4597,7 @@ exports.migrateOrRollback = migrateOrRollback;
|
|
|
4551
4597
|
exports.migrationConfigDefaults = migrationConfigDefaults;
|
|
4552
4598
|
exports.processRakeDbConfig = processRakeDbConfig;
|
|
4553
4599
|
exports.rakeDb = rakeDb;
|
|
4600
|
+
exports.rakeDbAliases = rakeDbAliases;
|
|
4554
4601
|
exports.redo = redo;
|
|
4555
4602
|
exports.resetDb = resetDb;
|
|
4556
4603
|
exports.rollback = rollback;
|