joist-migration-utils 1.3.2 → 1.4.2

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/build/utils.d.ts CHANGED
@@ -12,4 +12,6 @@ export declare function createCreatedAtFunction(b: MigrationBuilder): void;
12
12
  export declare function foreignKey(otherTable: string, opts: Partial<ColumnDefinition> & Required<Pick<ColumnDefinition, "notNull">>): ColumnDefinition;
13
13
  export declare function enumArrayColumn(enumTable: string, opts?: Pick<ColumnDefinition, "notNull">): ColumnDefinition;
14
14
  export declare function createManyToManyTable(b: MigrationBuilder, tableName: string, table1: string, table2: string): void;
15
+ /** Adds columns + auto-indexes any foreign keys. */
16
+ export declare function addColumns(b: MigrationBuilder, tableName: string, columns: ColumnDefinitions): void;
15
17
  export declare function fail(message?: string): never;
package/build/utils.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fail = exports.createManyToManyTable = exports.enumArrayColumn = exports.foreignKey = exports.createCreatedAtFunction = exports.createUpdatedAtFunction = exports.createTriggers = exports.updateEnumValue = exports.addEnumValue = exports.createEnumTable = exports.createEntityTable = void 0;
3
+ exports.fail = exports.addColumns = exports.createManyToManyTable = exports.enumArrayColumn = exports.foreignKey = exports.createCreatedAtFunction = exports.createUpdatedAtFunction = exports.createTriggers = exports.updateEnumValue = exports.addEnumValue = exports.createEnumTable = exports.createEntityTable = void 0;
4
4
  /** Creates an entity table with our conventions. */
5
5
  const node_pg_migrate_1 = require("node-pg-migrate");
6
6
  const pluralize_1 = require("pluralize");
@@ -101,6 +101,16 @@ function createManyToManyTable(b, tableName, table1, table2) {
101
101
  b.createIndex(tableName, [column1, column2], { unique: true });
102
102
  }
103
103
  exports.createManyToManyTable = createManyToManyTable;
104
+ /** Adds columns + auto-indexes any foreign keys. */
105
+ function addColumns(b, tableName, columns) {
106
+ b.addColumns(tableName, columns);
107
+ Object.entries(columns).forEach(([name, def]) => {
108
+ if (typeof def === "object" && def.references) {
109
+ b.sql(`CREATE INDEX ${tableName}_${name}_idx ON ${tableName} USING btree (${name})`);
110
+ }
111
+ });
112
+ }
113
+ exports.addColumns = addColumns;
104
114
  function fail(message) {
105
115
  throw new Error(message || "Failed");
106
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "joist-migration-utils",
3
- "version": "1.3.2",
3
+ "version": "1.4.2",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,7 +17,7 @@
17
17
  ],
18
18
  "dependencies": {
19
19
  "@types/pluralize": "0.0.29",
20
- "joist-utils": "1.3.2",
20
+ "joist-utils": "1.4.2",
21
21
  "node-pg-migrate": "^5.0.0",
22
22
  "pg": "^8.7.1",
23
23
  "pg-structure": "^7.13.0",