@campxdev/server-shared 1.6.23 → 1.6.25
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/utils/sql-fn.d.ts +13 -8
- package/dist/utils/sql-fn.d.ts.map +1 -1
- package/dist/utils/sql-fn.js +49 -17
- package/dist/utils/sql-fn.js.map +1 -1
- package/package.json +1 -1
package/dist/utils/sql-fn.d.ts
CHANGED
|
@@ -5,17 +5,22 @@ export declare function createIndex(props: {
|
|
|
5
5
|
indexName: string;
|
|
6
6
|
createQuery: string;
|
|
7
7
|
}): Promise<void>;
|
|
8
|
-
|
|
8
|
+
type CreateColumnsProps = {
|
|
9
|
+
queryRunner: QueryRunner;
|
|
9
10
|
tableName: string;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
columns: {
|
|
12
|
+
columnName: string;
|
|
13
|
+
columnType: string;
|
|
14
|
+
isNullable: boolean;
|
|
15
|
+
defaultValue?: string;
|
|
16
|
+
extra?: string;
|
|
17
|
+
}[];
|
|
15
18
|
};
|
|
16
|
-
export declare function
|
|
19
|
+
export declare function createColumns(props: CreateColumnsProps): Promise<void>;
|
|
20
|
+
export declare function dropColumns(props: {
|
|
17
21
|
queryRunner: QueryRunner;
|
|
18
|
-
|
|
22
|
+
tableName: string;
|
|
23
|
+
columns: string[];
|
|
19
24
|
}): Promise<void>;
|
|
20
25
|
type CreateIndexProps = {
|
|
21
26
|
queryRunner: QueryRunner;
|
|
@@ -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,
|
|
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;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE;IACvC,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,iBAmBA;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"}
|
package/dist/utils/sql-fn.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createIndexes = exports.
|
|
3
|
+
exports.createIndexes = exports.dropColumns = 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,57 @@ async function createIndex(props) {
|
|
|
24
24
|
await manager.query(createQuery);
|
|
25
25
|
}
|
|
26
26
|
exports.createIndex = createIndex;
|
|
27
|
-
async function
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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(' '));
|
|
33
58
|
}
|
|
34
|
-
|
|
35
|
-
|
|
59
|
+
}
|
|
60
|
+
exports.createColumns = createColumns;
|
|
61
|
+
async function dropColumns(props) {
|
|
62
|
+
props.columns = (0, lodash_1.uniq)(props.columns);
|
|
63
|
+
const { queryRunner, tableName, columns } = props;
|
|
64
|
+
if (!columns.length)
|
|
65
|
+
return;
|
|
66
|
+
const manager = queryRunner.manager;
|
|
67
|
+
const database = manager.connection.options.database;
|
|
68
|
+
const columnNames = columns.map((col) => `'${col}'`).join(', ');
|
|
69
|
+
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});`);
|
|
70
|
+
const existingColumns = columnRes.map((item) => item.COLUMN_NAME);
|
|
71
|
+
for (const column of columns) {
|
|
72
|
+
if (!existingColumns.includes(column))
|
|
73
|
+
continue;
|
|
74
|
+
await queryRunner.query(`ALTER TABLE ${tableName} DROP COLUMN ${column}`);
|
|
36
75
|
}
|
|
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
76
|
}
|
|
45
|
-
exports.
|
|
77
|
+
exports.dropColumns = dropColumns;
|
|
46
78
|
async function createIndexes(props) {
|
|
47
79
|
const { queryRunner, tableName, indexes } = props;
|
|
48
80
|
const manager = queryRunner.manager;
|
package/dist/utils/sql-fn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql-fn.js","sourceRoot":"","sources":["../../src/utils/sql-fn.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"sql-fn.js","sourceRoot":"","sources":["../../src/utils/sql-fn.ts"],"names":[],"mappings":"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"}
|