rake-db 2.27.26 → 2.27.28

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
@@ -1,4 +1,4 @@
1
- import { isRawSQL, escapeForMigration, ArrayColumn, toSnakeCase, toCamelCase, DomainColumn, toArray, EnumColumn, defaultSchemaConfig, snakeCaseKey, getColumnTypes, parseTableData, emptyObject, escapeString, tableDataMethods, setCurrentColumnName, consumeColumnName, Column, parseTableDataInput, UnknownColumn, setDefaultLanguage, deepCompare, raw, singleQuote, logParamToLogObject, createDbWithAdapter, getImportPath, pathToLog, emptyArray, makeColumnTypes, getStackTrace, colors, makeColumnsByType, RawSQL, CustomTypeColumn, assignDbDataToColumn, PostgisGeographyPointColumn, exhaustive, codeToString, addCode, quoteObjectKey, pushTableDataCode, primaryKeyInnerToCode, indexInnerToCode, excludeInnerToCode, constraintInnerToCode, referencesArgsToCode, backtickQuote, TimestampTZColumn, TimestampColumn } from 'pqb';
1
+ import { isRawSQL, escapeForMigration, ArrayColumn, toSnakeCase, toCamelCase, DomainColumn, toArray, EnumColumn, defaultSchemaConfig, snakeCaseKey, getColumnTypes, parseTableData, emptyObject, escapeString, tableDataMethods, setCurrentColumnName, consumeColumnName, Column, parseTableDataInput, UnknownColumn, setDefaultLanguage, deepCompare, raw, singleQuote, logParamToLogObject, createDbWithAdapter, getImportPath, pathToLog, emptyArray, makeColumnTypes, getStackTrace, colors, makeColumnsByType, RawSql, CustomTypeColumn, assignDbDataToColumn, PostgisGeographyPointColumn, exhaustive, codeToString, addCode, quoteObjectKey, pushTableDataCode, rawSqlToCode, primaryKeyInnerToCode, indexInnerToCode, excludeInnerToCode, constraintInnerToCode, referencesArgsToCode, backtickQuote, TimestampTZColumn, TimestampColumn } from 'pqb';
2
2
  import path, { join } from 'path';
3
3
  import { pathToFileURL, fileURLToPath } from 'node:url';
4
4
  import fs, { mkdir, writeFile, readdir, stat, readFile } from 'fs/promises';
@@ -973,6 +973,12 @@ const astToQueries = (ast, snakeCase, language) => {
973
973
  }
974
974
  }
975
975
  const prependAlterTable = [];
976
+ if (dropPrimaryKeys.change && addPrimaryKeys.change && dropPrimaryKeys.name === addPrimaryKeys.name && dropPrimaryKeys.columns.length === addPrimaryKeys.columns.length && dropPrimaryKeys.columns.every(
977
+ (column, i) => column === addPrimaryKeys.columns[i]
978
+ )) {
979
+ dropPrimaryKeys.change = addPrimaryKeys.change = void 0;
980
+ dropPrimaryKeys.columns.length = addPrimaryKeys.columns.length = 0;
981
+ }
976
982
  if (ast.drop.primaryKey || dropPrimaryKeys.change || dropPrimaryKeys.columns.length > 1) {
977
983
  const name = dropPrimaryKeys.name || `${ast.name}_pkey`;
978
984
  prependAlterTable.push(`DROP CONSTRAINT "${name}"`);
@@ -4272,7 +4278,7 @@ const makeDomainsMap = (ctx, data) => {
4272
4278
  });
4273
4279
  if (it.checks) {
4274
4280
  column.data.checks = it.checks.map((check) => ({
4275
- sql: new RawSQL([[check]])
4281
+ sql: new RawSql([[check]])
4276
4282
  }));
4277
4283
  }
4278
4284
  domains[`${it.schemaName}.${it.name}`] = column;
@@ -4540,7 +4546,7 @@ const dbColumnToAst = (ctx, data, domains, tableName, item, table, tableData, ch
4540
4546
  const columnChecks = checks?.[item.name];
4541
4547
  if (columnChecks) {
4542
4548
  column.data.checks = columnChecks.map((check) => ({
4543
- sql: new RawSQL([[check]])
4549
+ sql: new RawSql([[check]])
4544
4550
  }));
4545
4551
  }
4546
4552
  const camelCaseName = toCamelCase(item.name);
@@ -5147,10 +5153,12 @@ const astEncoders = {
5147
5153
  addCode(line, ", {");
5148
5154
  const u = [];
5149
5155
  if (change.using.usingUp) {
5150
- u.push(`usingUp: ${change.using.usingUp.toCode("t")},`);
5156
+ u.push(`usingUp: ${rawSqlToCode(change.using.usingUp, "t")},`);
5151
5157
  }
5152
5158
  if (change.using.usingDown) {
5153
- u.push(`usingDown: ${change.using.usingDown.toCode("t")},`);
5159
+ u.push(
5160
+ `usingDown: ${rawSqlToCode(change.using.usingDown, "t")},`
5161
+ );
5154
5162
  }
5155
5163
  addCode(line, u);
5156
5164
  addCode(line, "}");
@@ -5309,7 +5317,7 @@ const astEncoders = {
5309
5317
  }
5310
5318
  const check = ast.check;
5311
5319
  return [
5312
- `await db.addCheck(${table}, ${check.toCode("t")}${ast.name ? `, ${singleQuote(ast.name)}` : ""});`
5320
+ `await db.addCheck(${table}, ${rawSqlToCode(check, "t")}${ast.name ? `, ${singleQuote(ast.name)}` : ""});`
5313
5321
  ];
5314
5322
  },
5315
5323
  renameTableItem(ast) {
@@ -5351,7 +5359,7 @@ const astEncoders = {
5351
5359
  }
5352
5360
  addCode(code, backtickQuote(sql));
5353
5361
  } else {
5354
- addCode(code, ast.sql.toCode("db"));
5362
+ addCode(code, rawSqlToCode(ast.sql, "db"));
5355
5363
  }
5356
5364
  addCode(code, ");");
5357
5365
  return code;