rake-db 2.4.5 → 2.4.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.mjs CHANGED
@@ -1222,6 +1222,36 @@ const queryExists = (db, sql) => {
1222
1222
  return db.adapter.query(sql).then(({ rowCount }) => rowCount > 0);
1223
1223
  };
1224
1224
 
1225
+ const saveMigratedVersion = async (db, version, config) => {
1226
+ await db.query(
1227
+ `INSERT INTO ${quoteWithSchema({
1228
+ name: config.migrationsTable
1229
+ })} VALUES ('${version}')`
1230
+ );
1231
+ };
1232
+ const removeMigratedVersion = async (db, version, config) => {
1233
+ await db.query(
1234
+ `DELETE FROM ${quoteWithSchema({
1235
+ name: config.migrationsTable
1236
+ })} WHERE version = '${version}'`
1237
+ );
1238
+ };
1239
+ const getMigratedVersionsMap = async (db, config) => {
1240
+ try {
1241
+ const result = await db.arrays(
1242
+ `SELECT *
1243
+ FROM ${quoteWithSchema({ name: config.migrationsTable })}`
1244
+ );
1245
+ return Object.fromEntries(result.rows.map((row) => [row[0], true]));
1246
+ } catch (err) {
1247
+ if (err.code === "42P01") {
1248
+ await createSchemaMigrations(db, config);
1249
+ return {};
1250
+ }
1251
+ throw err;
1252
+ }
1253
+ };
1254
+
1225
1255
  var __defProp$1 = Object.defineProperty;
1226
1256
  var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
1227
1257
  var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
@@ -1334,34 +1364,6 @@ const processMigration = async (db, up, file, config, options, appCodeUpdaterCac
1334
1364
  }));
1335
1365
  }
1336
1366
  };
1337
- const saveMigratedVersion = async (db, version, config) => {
1338
- await db.query(
1339
- `INSERT INTO ${quoteWithSchema({
1340
- name: config.migrationsTable
1341
- })} VALUES ('${version}')`
1342
- );
1343
- };
1344
- const removeMigratedVersion = async (db, version, config) => {
1345
- await db.query(
1346
- `DELETE FROM ${quoteWithSchema({
1347
- name: config.migrationsTable
1348
- })} WHERE version = '${version}'`
1349
- );
1350
- };
1351
- const getMigratedVersionsMap = async (db, config) => {
1352
- try {
1353
- const result = await db.arrays(
1354
- `SELECT * FROM ${quoteWithSchema({ name: config.migrationsTable })}`
1355
- );
1356
- return Object.fromEntries(result.rows.map((row) => [row[0], true]));
1357
- } catch (err) {
1358
- if (err.code === "42P01") {
1359
- await createSchemaMigrations(db, config);
1360
- return {};
1361
- }
1362
- throw err;
1363
- }
1364
- };
1365
1367
  const migrate = (options, config, args = []) => migrateOrRollback(options, config, args, true);
1366
1368
  const rollback = (options, config, args = []) => migrateOrRollback(options, config, args, false);
1367
1369
 
@@ -1465,13 +1467,10 @@ const resetDb = async (arg, config) => {
1465
1467
  await migrate(arg, config);
1466
1468
  };
1467
1469
 
1468
- const writeMigrationFile = async (config, name, content) => {
1470
+ const writeMigrationFile = async (config, version, name, content) => {
1469
1471
  var _a;
1470
1472
  await mkdir(config.migrationsPath, { recursive: true });
1471
- const filePath = path.resolve(
1472
- config.migrationsPath,
1473
- `${makeFileTimeStamp()}_${name}.ts`
1474
- );
1473
+ const filePath = path.resolve(config.migrationsPath, `${version}_${name}.ts`);
1475
1474
  await writeFile(filePath, content);
1476
1475
  (_a = config.logger) == null ? void 0 : _a.log(`Created ${pathToLog(filePath)}`);
1477
1476
  };
@@ -1479,7 +1478,13 @@ const generate = async (config, args) => {
1479
1478
  const name = args[0];
1480
1479
  if (!name)
1481
1480
  throw new Error("Migration name is missing");
1482
- await writeMigrationFile(config, name, makeContent(name, args.slice(1)));
1481
+ const version = makeFileTimeStamp();
1482
+ await writeMigrationFile(
1483
+ config,
1484
+ version,
1485
+ name,
1486
+ makeContent(name, args.slice(1))
1487
+ );
1483
1488
  };
1484
1489
  const makeFileTimeStamp = () => {
1485
1490
  const now = new Date();
@@ -2257,6 +2262,7 @@ const createForeignKey = (item) => {
2257
2262
  };
2258
2263
 
2259
2264
  const pullDbStructure = async (options, config) => {
2265
+ var _a;
2260
2266
  const adapter = new Adapter(options);
2261
2267
  const db = new DbStructure(adapter);
2262
2268
  const ast = await structureToAst(db);
@@ -2264,7 +2270,19 @@ const pullDbStructure = async (options, config) => {
2264
2270
  const result = astToMigration(config, ast);
2265
2271
  if (!result)
2266
2272
  return;
2267
- await writeMigrationFile(config, "pull", result);
2273
+ const version = makeFileTimeStamp();
2274
+ await writeMigrationFile(config, version, "pull", result);
2275
+ await saveMigratedVersion(adapter, version, config);
2276
+ const cache = {};
2277
+ for (const item of ast) {
2278
+ await ((_a = config == null ? void 0 : config.appCodeUpdater) == null ? void 0 : _a.call(config, {
2279
+ ast: item,
2280
+ options,
2281
+ basePath: config.basePath,
2282
+ cache,
2283
+ logger: config.logger
2284
+ }));
2285
+ }
2268
2286
  };
2269
2287
 
2270
2288
  const rakeDb = async (options, partialConfig = {}, args = process.argv.slice(2)) => {
@@ -2335,5 +2353,5 @@ Generate arguments:
2335
2353
  rake-db g createTable id:serial.primaryKey name:text.nullable
2336
2354
  `;
2337
2355
 
2338
- export { MigrationBase, change, changeCache, createDb, createMigrationInterface, dropDb, generate, migrate, migrateOrRollback, rakeDb, resetDb, rollback, writeMigrationFile };
2356
+ export { MigrationBase, change, changeCache, createDb, createMigrationInterface, dropDb, generate, getMigratedVersionsMap, makeFileTimeStamp, migrate, migrateOrRollback, rakeDb, removeMigratedVersion, resetDb, rollback, saveMigratedVersion, writeMigrationFile };
2339
2357
  //# sourceMappingURL=index.mjs.map