@campxdev/server-shared 1.6.21 → 1.6.23
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 +26 -1
- package/dist/utils/sql-fn.d.ts.map +1 -1
- package/dist/utils/sql-fn.js +49 -1
- package/dist/utils/sql-fn.js.map +1 -1
- package/package.json +1 -1
package/dist/utils/sql-fn.d.ts
CHANGED
|
@@ -1,8 +1,33 @@
|
|
|
1
|
-
import { EntityManager } from 'typeorm';
|
|
1
|
+
import { EntityManager, QueryRunner } from 'typeorm';
|
|
2
2
|
export declare function createIndex(props: {
|
|
3
3
|
manager: EntityManager;
|
|
4
4
|
tableName: string;
|
|
5
5
|
indexName: string;
|
|
6
6
|
createQuery: string;
|
|
7
7
|
}): Promise<void>;
|
|
8
|
+
export type InitColumn = {
|
|
9
|
+
tableName: string;
|
|
10
|
+
columnName: string;
|
|
11
|
+
columnType: string;
|
|
12
|
+
isNullable: boolean;
|
|
13
|
+
defaultValue: string;
|
|
14
|
+
extra: string;
|
|
15
|
+
};
|
|
16
|
+
export declare function createColumn(props: {
|
|
17
|
+
queryRunner: QueryRunner;
|
|
18
|
+
data: InitColumn;
|
|
19
|
+
}): Promise<void>;
|
|
20
|
+
type CreateIndexProps = {
|
|
21
|
+
queryRunner: QueryRunner;
|
|
22
|
+
tableName: string;
|
|
23
|
+
indexes: {
|
|
24
|
+
name: string;
|
|
25
|
+
columns: string[];
|
|
26
|
+
unique?: boolean;
|
|
27
|
+
fulltext?: boolean;
|
|
28
|
+
spatial?: boolean;
|
|
29
|
+
}[];
|
|
30
|
+
};
|
|
31
|
+
export declare function createIndexes(props: CreateIndexProps): Promise<void>;
|
|
32
|
+
export {};
|
|
8
33
|
//# sourceMappingURL=sql-fn.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql-fn.d.ts","sourceRoot":"","sources":["../../src/utils/sql-fn.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/utils/sql-fn.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createIndex = void 0;
|
|
3
|
+
exports.createIndexes = exports.createColumn = exports.createIndex = void 0;
|
|
4
|
+
const lodash_1 = require("lodash");
|
|
4
5
|
async function createIndex(props) {
|
|
5
6
|
const { manager, tableName, indexName, createQuery } = props;
|
|
6
7
|
const tableSchema = manager.connection.options.database;
|
|
@@ -23,4 +24,51 @@ async function createIndex(props) {
|
|
|
23
24
|
await manager.query(createQuery);
|
|
24
25
|
}
|
|
25
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}`);
|
|
36
|
+
}
|
|
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
|
+
}
|
|
45
|
+
exports.createColumn = createColumn;
|
|
46
|
+
async function createIndexes(props) {
|
|
47
|
+
const { queryRunner, tableName, indexes } = props;
|
|
48
|
+
const manager = queryRunner.manager;
|
|
49
|
+
const currentIndexesRes = await manager.query(`SHOW INDEX FROM \`${tableName}\` WHERE Key_name != 'PRIMARY';`);
|
|
50
|
+
const currentIndexNames = (0, lodash_1.uniqBy)(currentIndexesRes, 'Key_name').map((item) => item.Key_name);
|
|
51
|
+
for (const index of indexes) {
|
|
52
|
+
if (currentIndexNames.includes(index.name))
|
|
53
|
+
continue;
|
|
54
|
+
const builder = [`CREATE`];
|
|
55
|
+
if (index.unique)
|
|
56
|
+
builder.push(`UNIQUE`);
|
|
57
|
+
if (index.fulltext)
|
|
58
|
+
builder.push(`FULLTEXT`);
|
|
59
|
+
if (index.spatial)
|
|
60
|
+
builder.push(`SPATIAL`);
|
|
61
|
+
builder.push(`INDEX \`${index.name}\``);
|
|
62
|
+
builder.push(`ON \`${tableName}\``);
|
|
63
|
+
builder.push(`(${index.columns.map((col) => `\`${col}\``).join(', ')})`);
|
|
64
|
+
await queryRunner.query(builder.join(' '));
|
|
65
|
+
}
|
|
66
|
+
for (const currentIndex of currentIndexesRes) {
|
|
67
|
+
const index = indexes.find((item) => item.name === currentIndex.Key_name);
|
|
68
|
+
if (!index) {
|
|
69
|
+
await queryRunner.query(`DROP INDEX \`${currentIndex.Key_name}\` ON \`${tableName}\`;`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.createIndexes = createIndexes;
|
|
26
74
|
//# sourceMappingURL=sql-fn.js.map
|
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":";;;
|
|
1
|
+
{"version":3,"file":"sql-fn.js","sourceRoot":"","sources":["../../src/utils/sql-fn.ts"],"names":[],"mappings":"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"}
|