@campxdev/server-shared 1.6.23 → 1.6.24

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.
@@ -5,18 +5,18 @@ export declare function createIndex(props: {
5
5
  indexName: string;
6
6
  createQuery: string;
7
7
  }): Promise<void>;
8
- export type InitColumn = {
8
+ type CreateColumnsProps = {
9
+ queryRunner: QueryRunner;
9
10
  tableName: string;
10
- columnName: string;
11
- columnType: string;
12
- isNullable: boolean;
13
- defaultValue: string;
14
- extra: string;
11
+ columns: {
12
+ columnName: string;
13
+ columnType: string;
14
+ isNullable: boolean;
15
+ defaultValue?: string;
16
+ extra?: string;
17
+ }[];
15
18
  };
16
- export declare function createColumn(props: {
17
- queryRunner: QueryRunner;
18
- data: InitColumn;
19
- }): Promise<void>;
19
+ export declare function createColumns(props: CreateColumnsProps): Promise<void>;
20
20
  type CreateIndexProps = {
21
21
  queryRunner: QueryRunner;
22
22
  tableName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"sql-fn.d.ts","sourceRoot":"","sources":["../../src/utils/sql-fn.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAErD,wBAAsB,WAAW,CAAC,KAAK,EAAE;IACvC,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,iBAyBA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAsB,YAAY,CAAC,KAAK,EAAE;IAAE,WAAW,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,iBAiBvF;AAUD,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,EAAE,CAAC;CACL,CAAC;AAEF,wBAAsB,aAAa,CAAC,KAAK,EAAE,gBAAgB,iBA+B1D"}
1
+ {"version":3,"file":"sql-fn.d.ts","sourceRoot":"","sources":["../../src/utils/sql-fn.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAErD,wBAAsB,WAAW,CAAC,KAAK,EAAE;IACvC,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,iBAyBA;AAED,KAAK,kBAAkB,GAAG;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,EAAE,CAAC;CACL,CAAC;AAEF,wBAAsB,aAAa,CAAC,KAAK,EAAE,kBAAkB,iBAmC5D;AAUD,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,EAAE,CAAC;CACL,CAAC;AAEF,wBAAsB,aAAa,CAAC,KAAK,EAAE,gBAAgB,iBA+B1D"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createIndexes = exports.createColumn = exports.createIndex = void 0;
3
+ exports.createIndexes = exports.createColumns = exports.createIndex = void 0;
4
4
  const lodash_1 = require("lodash");
5
5
  async function createIndex(props) {
6
6
  const { manager, tableName, indexName, createQuery } = props;
@@ -24,25 +24,40 @@ async function createIndex(props) {
24
24
  await manager.query(createQuery);
25
25
  }
26
26
  exports.createIndex = createIndex;
27
- async function createColumn(props) {
28
- const { queryRunner, data } = props;
29
- const hasColumn = await queryRunner.hasColumn(data.tableName, data.columnName);
30
- const builder = [`ALTER TABLE ${data.tableName}`];
31
- if (hasColumn) {
32
- builder.push(`MODIFY COLUMN ${data.columnName} ${data.columnType}`);
33
- }
34
- else {
35
- builder.push(`ADD COLUMN ${data.columnName} ${data.columnType}`);
27
+ async function createColumns(props) {
28
+ props.columns = (0, lodash_1.uniqBy)(props.columns, (v) => v.columnName);
29
+ const { queryRunner, tableName, columns } = props;
30
+ if (!columns.length)
31
+ return;
32
+ const manager = queryRunner.manager;
33
+ const database = manager.connection.options.database;
34
+ const columnNames = columns
35
+ .map((item) => item.columnName)
36
+ .map((col) => `'${col}'`)
37
+ .join(', ');
38
+ const columnRes = await manager.query(`SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '${database}' AND TABLE_NAME = '${tableName}' AND COLUMN_NAME IN (${columnNames});`);
39
+ const existingColumns = columnRes.map((item) => item.COLUMN_NAME);
40
+ for (const column of columns) {
41
+ const hasColumn = existingColumns.includes(column.columnName);
42
+ const builder = [`ALTER TABLE ${tableName}`];
43
+ if (hasColumn) {
44
+ builder.push(`MODIFY COLUMN ${column.columnName} ${column.columnType}`);
45
+ }
46
+ else {
47
+ builder.push(`ADD COLUMN ${column.columnName} ${column.columnType}`);
48
+ }
49
+ if (!column.isNullable)
50
+ builder.push('NOT NULL');
51
+ if (column.defaultValue != null)
52
+ builder.push(`DEFAULT ${column.defaultValue}`);
53
+ if (column.isNullable && column.defaultValue == null)
54
+ builder.push('DEFAULT NULL');
55
+ if (column.extra)
56
+ builder.push(column.extra);
57
+ await queryRunner.query(builder.join(' '));
36
58
  }
37
- if (!data.isNullable)
38
- builder.push('NOT NULL');
39
- if (data.defaultValue)
40
- builder.push(`DEFAULT ${data.defaultValue}`);
41
- if (data.extra)
42
- builder.push(data.extra);
43
- await queryRunner.query(builder.join(' '));
44
59
  }
45
- exports.createColumn = createColumn;
60
+ exports.createColumns = createColumns;
46
61
  async function createIndexes(props) {
47
62
  const { queryRunner, tableName, indexes } = props;
48
63
  const manager = queryRunner.manager;
@@ -1 +1 @@
1
- {"version":3,"file":"sql-fn.js","sourceRoot":"","sources":["../../src/utils/sql-fn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql-fn.js","sourceRoot":"","sources":["../../src/utils/sql-fn.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@campxdev/server-shared",
3
- "version": "1.6.23",
3
+ "version": "1.6.24",
4
4
  "description": "Campx server shared files",
5
5
  "main": "dist/index.js",
6
6
  "license": "MIT",