vona-module-a-ormdialect 5.0.24 → 5.1.1
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/LICENSE +0 -0
- package/dist/.metadata/index.d.ts +1 -0
- package/dist/.metadata/index.d.ts.map +1 -0
- package/dist/.metadata/this.d.ts +1 -0
- package/dist/.metadata/this.d.ts.map +1 -0
- package/dist/bean/databaseDialect.betterSqlite3.d.ts +1 -0
- package/dist/bean/databaseDialect.betterSqlite3.d.ts.map +1 -0
- package/dist/bean/databaseDialect.mysql.d.ts +1 -0
- package/dist/bean/databaseDialect.mysql.d.ts.map +1 -0
- package/dist/bean/databaseDialect.mysql3.d.ts +1 -0
- package/dist/bean/databaseDialect.mysql3.d.ts.map +1 -0
- package/dist/bean/databaseDialect.pg.d.ts +1 -0
- package/dist/bean/databaseDialect.pg.d.ts.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +29 -25
- package/dist/index.js.map +1 -0
- package/package.json +24 -19
- package/src/.metadata/index.ts +101 -0
- package/src/.metadata/this.ts +2 -0
- package/src/bean/databaseDialect.betterSqlite3.ts +92 -0
- package/src/bean/databaseDialect.mysql.ts +95 -0
- package/src/bean/databaseDialect.mysql3.ts +12 -0
- package/src/bean/databaseDialect.pg.ts +84 -0
- package/src/index.ts +1 -0
package/LICENSE
CHANGED
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/.metadata/index.ts"],"names":[],"mappings":"AACA,6BAA6B;AAC7B,cAAc,0CAA0C,CAAC;AACzD,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,0CAA0C,CAAC;AACrG,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,mBAAmB,CAAC;AAC3B,OAAO,QAAQ,mBAAmB,CAAC;IAE/B,UAAiB,sBAAsB;QACrC,4BAA4B,EAAE,oCAAoC,CAAC;QACzE,oBAAoB,EAAE,4BAA4B,CAAC;QACnD,qBAAqB,EAAE,6BAA6B,CAAC;QACrD,iBAAiB,EAAE,yBAAyB,CAAC;KACxC;CAGJ;AACD,OAAO,QAAQ,0BAA0B,CAAC;IAElC,UAAiB,4BAA4B;KAG5C;IAEC,UAAiB,4BAA4B;QAC3C,IAAI,aAAa,IAAI,4CAA4C,CAAC;QAClE,IAAI,UAAU,IAAI,4BAA4B,CAAC;QAC/C,IAAI,aAAa,IAAI,oCAAoC,CAAC;KAC3D;IAEH,UAAiB,oBAAoB;KAGpC;IAEC,UAAiB,oBAAoB;QACnC,IAAI,aAAa,IAAI,oCAAoC,CAAC;QAC1D,IAAI,UAAU,IAAI,oBAAoB,CAAC;QACvC,IAAI,aAAa,IAAI,4BAA4B,CAAC;KACnD;IAEH,UAAiB,iBAAiB;KAGjC;IAEC,UAAiB,iBAAiB;QAChC,IAAI,aAAa,IAAI,iCAAiC,CAAC;QACvD,IAAI,UAAU,IAAI,iBAAiB,CAAC;QACpC,IAAI,aAAa,IAAI,yBAAyB,CAAC;KAChD;CACV;AACD,2BAA2B;AAC3B,6BAA6B;AAC7B,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AAC7F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,kBAAkB;QACjC,4CAA4C,EAAE,4BAA4B,CAAC;QAC/E,oCAAoC,EAAE,oBAAoB,CAAC;QAC3D,qCAAqC,EAAE,qBAAqB,CAAC;QAC7D,iCAAiC,EAAE,iBAAiB,CAAC;KAClD;CACF;AACD,2BAA2B;AAC3B,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,MAAM,CAAC;AAGzD,qBACa,sBAAuB,SAAQ,aAAa;CAAG;AAE5D,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,aAAa,CAAC;CACrB;AAED,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,gBAAgB;QAC/B,cAAc,EAAE,sBAAsB,CAAC;KACxC;IAED,UAAiB,mBAAmB;QAClC,UAAU,EAAE,sBAAsB,CAAC;KACpC;CAOF;AACD,iBAAiB"}
|
package/dist/.metadata/this.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"this.d.ts","sourceRoot":"","sources":["../../src/.metadata/this.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,iBAAiB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"databaseDialect.betterSqlite3.d.ts","sourceRoot":"","sources":["../../src/bean/databaseDialect.betterSqlite3.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,gCAAgC,EAChC,yBAAyB,EACzB,uBAAuB,EACvB,iCAAiC,EAClC,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,uBAAuB,EAAmB,MAAM,mBAAmB,CAAC;AAE7E,MAAM,WAAW,oCAAqC,SAAQ,gCAAgC;CAAG;AAEjG,qBACa,4BAA6B,SAAQ,uBAAuB;IACvE,SAAS,CAAC,aAAa,EAAE,4BAA4B,CAInD;IAEF,SAAS,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAOnD;IAEI,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAWhH,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMzF,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrF,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAUtG,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAI1E,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,iCAAiC,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAI7G,KAAK,CAAC,MAAM,KAAA;IAIZ,OAAO,CAAC,SAAS;CAGlB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"databaseDialect.mysql.d.ts","sourceRoot":"","sources":["../../src/bean/databaseDialect.mysql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,gCAAgC,EAChC,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,uBAAuB,EAAmB,MAAM,mBAAmB,CAAC;AAE7E,MAAM,WAAW,4BAA6B,SAAQ,gCAAgC;CAAG;AAEzF,qBACa,oBAAqB,SAAQ,uBAAuB;IAC/D,SAAS,CAAC,aAAa,EAAE,4BAA4B,CAInD;IAEF,SAAS,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAMnD;IAEI,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAU/G,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKxF,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpF,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAWtG,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAIhF,KAAK,CAAC,MAAM,KAAA;IAIN,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAetF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"databaseDialect.mysql3.d.ts","sourceRoot":"","sources":["../../src/bean/databaseDialect.mysql3.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAC;AAK1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,WAAW,6BAA8B,SAAQ,gCAAgC;CAAG;;AAE1F,qBAEa,qBAAsB,SAAQ,0BAAmC;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"databaseDialect.pg.d.ts","sourceRoot":"","sources":["../../src/bean/databaseDialect.pg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,gCAAgC,EAChC,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,uBAAuB,EAAmB,MAAM,mBAAmB,CAAC;AAE7E,MAAM,WAAW,yBAA0B,SAAQ,gCAAgC;CAAG;AAEtF,qBACa,iBAAkB,SAAQ,uBAAuB;IAC5D,SAAS,CAAC,aAAa,EAAE,4BAA4B,CAInD;IAEF,SAAS,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAa;IAE5D,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAS/G,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKxF,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpF,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAWtG,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAIhF,KAAK,CAAC,MAAM,KAAA;IAIN,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAsBtF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import { BeanInfo,
|
|
2
|
-
import
|
|
1
|
+
import { BeanInfo, $Class, Virtual, BeanScopeBase } from 'vona';
|
|
2
|
+
import { __decorate } from 'tslib';
|
|
3
3
|
import { ensureDir, remove } from 'fs-extra';
|
|
4
4
|
import { globby } from 'globby';
|
|
5
|
+
import path from 'node:path';
|
|
5
6
|
import { DatabaseDialect, BeanDatabaseDialectBase } from 'vona-module-a-orm';
|
|
6
7
|
import { promisify } from 'node:util';
|
|
7
8
|
import { Scope } from 'vona-module-a-bean';
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
let DatabaseDialectBetterSqlite3 = (_dec$4 = DatabaseDialect(), _dec2$4 = BeanInfo({
|
|
11
|
-
module: "a-ormdialect"
|
|
12
|
-
}), _dec$4(_class$4 = _dec2$4(_class$4 = class DatabaseDialectBetterSqlite3 extends BeanDatabaseDialectBase {
|
|
10
|
+
let DatabaseDialectBetterSqlite3 = class DatabaseDialectBetterSqlite3 extends BeanDatabaseDialectBase {
|
|
13
11
|
constructor(...args) {
|
|
14
12
|
super(...args);
|
|
15
13
|
this._capabilities = {
|
|
14
|
+
like: true,
|
|
16
15
|
ilike: false,
|
|
17
16
|
level: false
|
|
18
17
|
};
|
|
@@ -69,7 +68,10 @@ let DatabaseDialectBetterSqlite3 = (_dec$4 = DatabaseDialect(), _dec2$4 = BeanIn
|
|
|
69
68
|
_getDbDir() {
|
|
70
69
|
return path.join(this.app.projectPath, '.app/sqlite3');
|
|
71
70
|
}
|
|
72
|
-
}
|
|
71
|
+
};
|
|
72
|
+
DatabaseDialectBetterSqlite3 = __decorate([DatabaseDialect(), BeanInfo({
|
|
73
|
+
module: "a-ormdialect"
|
|
74
|
+
})], DatabaseDialectBetterSqlite3);
|
|
73
75
|
async function sqlite3_afterCreate(conn) {
|
|
74
76
|
const pragma = conn.pragma('journal_mode');
|
|
75
77
|
if (pragma[0]?.journal_mode?.toLocaleLowerCase() !== 'wal') {
|
|
@@ -77,14 +79,12 @@ async function sqlite3_afterCreate(conn) {
|
|
|
77
79
|
}
|
|
78
80
|
}
|
|
79
81
|
|
|
80
|
-
|
|
81
|
-
let DatabaseDialectMysql = (_dec$3 = DatabaseDialect(), _dec2$3 = BeanInfo({
|
|
82
|
-
module: "a-ormdialect"
|
|
83
|
-
}), _dec$3(_class$3 = _dec2$3(_class$3 = class DatabaseDialectMysql extends BeanDatabaseDialectBase {
|
|
82
|
+
let DatabaseDialectMysql = class DatabaseDialectMysql extends BeanDatabaseDialectBase {
|
|
84
83
|
constructor(...args) {
|
|
85
84
|
super(...args);
|
|
86
85
|
this._capabilities = {
|
|
87
|
-
|
|
86
|
+
like: false,
|
|
87
|
+
ilike: true,
|
|
88
88
|
level: true
|
|
89
89
|
};
|
|
90
90
|
this._configBase = {
|
|
@@ -146,7 +146,10 @@ let DatabaseDialectMysql = (_dec$3 = DatabaseDialect(), _dec2$3 = BeanInfo({
|
|
|
146
146
|
});
|
|
147
147
|
return items.map(item => item.dep_name);
|
|
148
148
|
}
|
|
149
|
-
}
|
|
149
|
+
};
|
|
150
|
+
DatabaseDialectMysql = __decorate([DatabaseDialect(), BeanInfo({
|
|
151
|
+
module: "a-ormdialect"
|
|
152
|
+
})], DatabaseDialectMysql);
|
|
150
153
|
async function mysql_afterCreate(conn) {
|
|
151
154
|
await _executeQuery(conn, 'SET SESSION explicit_defaults_for_timestamp=ON');
|
|
152
155
|
await _executeQuery(conn, "SET SESSION sql_mode='NO_AUTO_VALUE_ON_ZERO'");
|
|
@@ -156,18 +159,16 @@ async function _executeQuery(conn, sql) {
|
|
|
156
159
|
return await queryAsync();
|
|
157
160
|
}
|
|
158
161
|
|
|
159
|
-
|
|
160
|
-
|
|
162
|
+
let DatabaseDialectMysql3 = class DatabaseDialectMysql3 extends $Class.extend(DatabaseDialectMysql) {};
|
|
163
|
+
DatabaseDialectMysql3 = __decorate([DatabaseDialect(), Virtual(), BeanInfo({
|
|
161
164
|
module: "a-ormdialect"
|
|
162
|
-
}),
|
|
165
|
+
})], DatabaseDialectMysql3);
|
|
163
166
|
|
|
164
|
-
|
|
165
|
-
let DatabaseDialectPg = (_dec$1 = DatabaseDialect(), _dec2$1 = BeanInfo({
|
|
166
|
-
module: "a-ormdialect"
|
|
167
|
-
}), _dec$1(_class$1 = _dec2$1(_class$1 = class DatabaseDialectPg extends BeanDatabaseDialectBase {
|
|
167
|
+
let DatabaseDialectPg = class DatabaseDialectPg extends BeanDatabaseDialectBase {
|
|
168
168
|
constructor(...args) {
|
|
169
169
|
super(...args);
|
|
170
170
|
this._capabilities = {
|
|
171
|
+
like: true,
|
|
171
172
|
ilike: true,
|
|
172
173
|
level: true
|
|
173
174
|
};
|
|
@@ -230,13 +231,16 @@ let DatabaseDialectPg = (_dec$1 = DatabaseDialect(), _dec2$1 = BeanInfo({
|
|
|
230
231
|
items = items.filter(item => item.toLowerCase() !== viewName.toLowerCase());
|
|
231
232
|
return items;
|
|
232
233
|
}
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
var _dec, _dec2, _class;
|
|
236
|
-
let ScopeModuleAOrmdialect = (_dec = Scope(), _dec2 = BeanInfo({
|
|
234
|
+
};
|
|
235
|
+
DatabaseDialectPg = __decorate([DatabaseDialect(), BeanInfo({
|
|
237
236
|
module: "a-ormdialect"
|
|
238
|
-
}),
|
|
237
|
+
})], DatabaseDialectPg);
|
|
239
238
|
|
|
239
|
+
let ScopeModuleAOrmdialect = class ScopeModuleAOrmdialect extends BeanScopeBase {};
|
|
240
|
+
ScopeModuleAOrmdialect = __decorate([Scope(), BeanInfo({
|
|
241
|
+
module: "a-ormdialect"
|
|
242
|
+
})], ScopeModuleAOrmdialect);
|
|
240
243
|
/** scope: end */
|
|
241
244
|
|
|
242
245
|
export { DatabaseDialectBetterSqlite3, DatabaseDialectMysql, DatabaseDialectMysql3, DatabaseDialectPg, ScopeModuleAOrmdialect };
|
|
246
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/bean/databaseDialect.betterSqlite3.ts","../src/bean/databaseDialect.mysql.ts","../src/bean/databaseDialect.mysql3.ts","../src/bean/databaseDialect.pg.ts","../src/.metadata/index.ts"],"sourcesContent":[null,null,null,null,null],"names":["DatabaseDialectBetterSqlite3","BeanDatabaseDialectBase","constructor","args","_capabilities","like","ilike","level","_configBase","useNullAsDefault","pool","afterCreate","conn","done","sqlite3_afterCreate","then","catch","fetchDatabases","_schemaBuilder","databasePrefix","dbDir","_getDbDir","files","globby","cwd","onlyFiles","map","item","name","path","join","createDatabase","databaseName","ensureDir","dropDatabase","remove","part","fetchIndexes","schemaBuilder","tableName","items","raw","indexName","insert","builder","datas","insertAsMysql","select","fn","selectAsSqlite3","query","result","app","projectPath","__decorate","DatabaseDialect","__z_BeanInfo","module","pragma","journal_mode","toLocaleLowerCase","DatabaseDialectMysql","mysql_afterCreate","res","dbs","db","Object","keys","Key_name","viewDependents","viewName","sqlViews","distinct","fromRaw","where","ref_name","dep_name","_executeQuery","sql","queryAsync","promisify","cb","DatabaseDialectMysql3","$Class","extend","Virtual","DatabaseDialectPg","undefined","rows","datname","indexname","insertAsPg","filter","toLowerCase","ScopeModuleAOrmdialect","BeanScopeBase","Scope"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vona-module-a-ormdialect",
|
|
3
|
-
"
|
|
4
|
-
"version": "5.0.24",
|
|
5
|
-
"title": "a-ormdialect",
|
|
6
|
-
"vonaModule": {
|
|
7
|
-
"dependencies": {},
|
|
8
|
-
"globalDependencies": {
|
|
9
|
-
"better-sqlite3": true
|
|
10
|
-
}
|
|
11
|
-
},
|
|
3
|
+
"version": "5.1.1",
|
|
12
4
|
"description": "",
|
|
13
|
-
"author": "",
|
|
14
5
|
"keywords": [
|
|
15
6
|
"Vona Module"
|
|
16
7
|
],
|
|
8
|
+
"author": "",
|
|
9
|
+
"files": [
|
|
10
|
+
"assets",
|
|
11
|
+
"dist",
|
|
12
|
+
"src"
|
|
13
|
+
],
|
|
14
|
+
"type": "module",
|
|
17
15
|
"exports": {
|
|
18
16
|
".": {
|
|
19
17
|
"types": [
|
|
@@ -24,10 +22,13 @@
|
|
|
24
22
|
},
|
|
25
23
|
"./package.json": "./package.json"
|
|
26
24
|
},
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
|
|
25
|
+
"scripts": {
|
|
26
|
+
"clean": "rimraf dist tsconfig.build.tsbuildinfo",
|
|
27
|
+
"tsc:publish": "npm run clean && vona :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
|
|
28
|
+
"prepublishOnly": "npm run tsc:publish",
|
|
29
|
+
"prepack": "clean-package",
|
|
30
|
+
"postpack": "clean-package restore && npm run clean"
|
|
31
|
+
},
|
|
31
32
|
"dependencies": {
|
|
32
33
|
"better-sqlite3": "^12.5.0",
|
|
33
34
|
"globby": "^16.0.0",
|
|
@@ -39,8 +40,12 @@
|
|
|
39
40
|
"clean-package": "^2.2.0",
|
|
40
41
|
"rimraf": "^6.0.1"
|
|
41
42
|
},
|
|
42
|
-
"
|
|
43
|
-
|
|
44
|
-
"
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
"title": "a-ormdialect",
|
|
44
|
+
"vonaModule": {
|
|
45
|
+
"dependencies": {},
|
|
46
|
+
"globalDependencies": {
|
|
47
|
+
"better-sqlite3": true
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"gitHead": "991189da4443b789fcf77872990b901ccf43bccb"
|
|
51
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
// eslint-disable
|
|
2
|
+
/** databaseDialect: begin */
|
|
3
|
+
export * from '../bean/databaseDialect.betterSqlite3.ts';
|
|
4
|
+
export * from '../bean/databaseDialect.mysql.ts';
|
|
5
|
+
export * from '../bean/databaseDialect.mysql3.ts';
|
|
6
|
+
export * from '../bean/databaseDialect.pg.ts';
|
|
7
|
+
import type { IDatabaseDialectOptionsBetterSqlite3 } from '../bean/databaseDialect.betterSqlite3.ts';
|
|
8
|
+
import type { IDatabaseDialectOptionsMysql } from '../bean/databaseDialect.mysql.ts';
|
|
9
|
+
import type { IDatabaseDialectOptionsMysql3 } from '../bean/databaseDialect.mysql3.ts';
|
|
10
|
+
import type { IDatabaseDialectOptionsPg } from '../bean/databaseDialect.pg.ts';
|
|
11
|
+
import 'vona-module-a-orm';
|
|
12
|
+
declare module 'vona-module-a-orm' {
|
|
13
|
+
|
|
14
|
+
export interface IDatabaseDialectRecord {
|
|
15
|
+
'a-ormdialect:betterSqlite3': IDatabaseDialectOptionsBetterSqlite3;
|
|
16
|
+
'a-ormdialect:mysql': IDatabaseDialectOptionsMysql;
|
|
17
|
+
'a-ormdialect:mysql3': IDatabaseDialectOptionsMysql3;
|
|
18
|
+
'a-ormdialect:pg': IDatabaseDialectOptionsPg;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
}
|
|
23
|
+
declare module 'vona-module-a-ormdialect' {
|
|
24
|
+
|
|
25
|
+
export interface DatabaseDialectBetterSqlite3 {
|
|
26
|
+
/** @internal */
|
|
27
|
+
get scope(): ScopeModuleAOrmdialect;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface DatabaseDialectBetterSqlite3 {
|
|
31
|
+
get $beanFullName(): 'a-ormdialect.databaseDialect.betterSqlite3';
|
|
32
|
+
get $onionName(): 'a-ormdialect:betterSqlite3';
|
|
33
|
+
get $onionOptions(): IDatabaseDialectOptionsBetterSqlite3;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface DatabaseDialectMysql {
|
|
37
|
+
/** @internal */
|
|
38
|
+
get scope(): ScopeModuleAOrmdialect;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export interface DatabaseDialectMysql {
|
|
42
|
+
get $beanFullName(): 'a-ormdialect.databaseDialect.mysql';
|
|
43
|
+
get $onionName(): 'a-ormdialect:mysql';
|
|
44
|
+
get $onionOptions(): IDatabaseDialectOptionsMysql;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export interface DatabaseDialectPg {
|
|
48
|
+
/** @internal */
|
|
49
|
+
get scope(): ScopeModuleAOrmdialect;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export interface DatabaseDialectPg {
|
|
53
|
+
get $beanFullName(): 'a-ormdialect.databaseDialect.pg';
|
|
54
|
+
get $onionName(): 'a-ormdialect:pg';
|
|
55
|
+
get $onionOptions(): IDatabaseDialectOptionsPg;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/** databaseDialect: end */
|
|
59
|
+
/** databaseDialect: begin */
|
|
60
|
+
import type { DatabaseDialectBetterSqlite3 } from '../bean/databaseDialect.betterSqlite3.ts';
|
|
61
|
+
import type { DatabaseDialectMysql } from '../bean/databaseDialect.mysql.ts';
|
|
62
|
+
import type { DatabaseDialectMysql3 } from '../bean/databaseDialect.mysql3.ts';
|
|
63
|
+
import type { DatabaseDialectPg } from '../bean/databaseDialect.pg.ts';
|
|
64
|
+
import 'vona';
|
|
65
|
+
declare module 'vona' {
|
|
66
|
+
export interface IBeanRecordGeneral {
|
|
67
|
+
'a-ormdialect.databaseDialect.betterSqlite3': DatabaseDialectBetterSqlite3;
|
|
68
|
+
'a-ormdialect.databaseDialect.mysql': DatabaseDialectMysql;
|
|
69
|
+
'a-ormdialect.databaseDialect.mysql3': DatabaseDialectMysql3;
|
|
70
|
+
'a-ormdialect.databaseDialect.pg': DatabaseDialectPg;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/** databaseDialect: end */
|
|
74
|
+
/** scope: begin */
|
|
75
|
+
import { BeanScopeBase, type BeanScopeUtil } from 'vona';
|
|
76
|
+
import { Scope } from 'vona-module-a-bean';
|
|
77
|
+
|
|
78
|
+
@Scope()
|
|
79
|
+
export class ScopeModuleAOrmdialect extends BeanScopeBase {}
|
|
80
|
+
|
|
81
|
+
export interface ScopeModuleAOrmdialect {
|
|
82
|
+
util: BeanScopeUtil;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
import 'vona';
|
|
86
|
+
declare module 'vona' {
|
|
87
|
+
export interface IBeanScopeRecord {
|
|
88
|
+
'a-ormdialect': ScopeModuleAOrmdialect;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export interface IBeanScopeContainer {
|
|
92
|
+
ormdialect: ScopeModuleAOrmdialect;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
}
|
|
101
|
+
/** scope: end */
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import type { Knex } from 'knex';
|
|
2
|
+
import type { TableIdentity } from 'table-identity';
|
|
3
|
+
import type {
|
|
4
|
+
ConfigDatabaseClient,
|
|
5
|
+
IDatabaseDialectCapabilities,
|
|
6
|
+
IDecoratorDatabaseDialectOptions,
|
|
7
|
+
IFetchDatabasesResultItem,
|
|
8
|
+
IFetchIndexesResultItem,
|
|
9
|
+
TypeDatabaseDialectTableColumnsFn,
|
|
10
|
+
} from 'vona-module-a-orm';
|
|
11
|
+
|
|
12
|
+
import { ensureDir, remove } from 'fs-extra';
|
|
13
|
+
import { globby } from 'globby';
|
|
14
|
+
import path from 'node:path';
|
|
15
|
+
import { BeanDatabaseDialectBase, DatabaseDialect } from 'vona-module-a-orm';
|
|
16
|
+
|
|
17
|
+
export interface IDatabaseDialectOptionsBetterSqlite3 extends IDecoratorDatabaseDialectOptions {}
|
|
18
|
+
|
|
19
|
+
@DatabaseDialect<IDatabaseDialectOptionsBetterSqlite3>()
|
|
20
|
+
export class DatabaseDialectBetterSqlite3 extends BeanDatabaseDialectBase {
|
|
21
|
+
protected _capabilities: IDatabaseDialectCapabilities = {
|
|
22
|
+
like: true,
|
|
23
|
+
ilike: false,
|
|
24
|
+
level: false,
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
protected _configBase?: Partial<ConfigDatabaseClient> = {
|
|
28
|
+
useNullAsDefault: true,
|
|
29
|
+
pool: {
|
|
30
|
+
afterCreate(conn, done) {
|
|
31
|
+
sqlite3_afterCreate(conn).then(done).catch(done);
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
async fetchDatabases(_schemaBuilder: Knex.SchemaBuilder, databasePrefix: string): Promise<IFetchDatabasesResultItem[]> {
|
|
37
|
+
const dbDir = this._getDbDir();
|
|
38
|
+
const files = await globby(`${databasePrefix}*.db`, {
|
|
39
|
+
cwd: dbDir,
|
|
40
|
+
onlyFiles: true,
|
|
41
|
+
});
|
|
42
|
+
return files.map(item => {
|
|
43
|
+
return { name: path.join(dbDir, item) };
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
async createDatabase(_schemaBuilder: Knex.SchemaBuilder, databaseName: string): Promise<string> {
|
|
48
|
+
const dbDir = this._getDbDir();
|
|
49
|
+
await ensureDir(dbDir);
|
|
50
|
+
return path.join(dbDir, `${databaseName}.db`);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
async dropDatabase(_schemaBuilder: Knex.SchemaBuilder, databaseName: string): Promise<void> {
|
|
54
|
+
await remove(databaseName);
|
|
55
|
+
for (const part of ['shm', 'wal', 'journal']) {
|
|
56
|
+
await remove(`${databaseName}-${part}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
async fetchIndexes(schemaBuilder: Knex.SchemaBuilder, tableName: string): Promise<IFetchIndexesResultItem[]> {
|
|
61
|
+
let items: any = await schemaBuilder.raw(`PRAGMA index_list(${tableName})`);
|
|
62
|
+
items = items.map(item => {
|
|
63
|
+
return {
|
|
64
|
+
indexName: item.name,
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
return items;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
async insert(builder: Knex.QueryBuilder, datas: any[]): Promise<TableIdentity[]> {
|
|
71
|
+
return await this.insertAsMysql(builder, datas);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
async select(builder: Knex.QueryBuilder, datas: any[], fn: TypeDatabaseDialectTableColumnsFn): Promise<any[]> {
|
|
75
|
+
return await this.selectAsSqlite3(builder, datas, fn);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
query(result) {
|
|
79
|
+
return result;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
private _getDbDir() {
|
|
83
|
+
return path.join(this.app.projectPath, '.app/sqlite3');
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
async function sqlite3_afterCreate(conn) {
|
|
88
|
+
const pragma: { journal_mode: string }[] = conn.pragma('journal_mode');
|
|
89
|
+
if (pragma[0]?.journal_mode?.toLocaleLowerCase() !== 'wal') {
|
|
90
|
+
conn.pragma('journal_mode = wal');
|
|
91
|
+
}
|
|
92
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { Knex } from 'knex';
|
|
2
|
+
import type { TableIdentity } from 'table-identity';
|
|
3
|
+
import type {
|
|
4
|
+
ConfigDatabaseClient,
|
|
5
|
+
IDatabaseDialectCapabilities,
|
|
6
|
+
IDecoratorDatabaseDialectOptions,
|
|
7
|
+
IFetchDatabasesResultItem,
|
|
8
|
+
IFetchIndexesResultItem,
|
|
9
|
+
} from 'vona-module-a-orm';
|
|
10
|
+
|
|
11
|
+
import { promisify } from 'node:util';
|
|
12
|
+
import { BeanDatabaseDialectBase, DatabaseDialect } from 'vona-module-a-orm';
|
|
13
|
+
|
|
14
|
+
export interface IDatabaseDialectOptionsMysql extends IDecoratorDatabaseDialectOptions {}
|
|
15
|
+
|
|
16
|
+
@DatabaseDialect<IDatabaseDialectOptionsMysql>()
|
|
17
|
+
export class DatabaseDialectMysql extends BeanDatabaseDialectBase {
|
|
18
|
+
protected _capabilities: IDatabaseDialectCapabilities = {
|
|
19
|
+
like: false,
|
|
20
|
+
ilike: true,
|
|
21
|
+
level: true,
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
protected _configBase?: Partial<ConfigDatabaseClient> = {
|
|
25
|
+
pool: {
|
|
26
|
+
afterCreate(conn, done) {
|
|
27
|
+
mysql_afterCreate(conn).then(done).catch(done);
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
async fetchDatabases(schemaBuilder: Knex.SchemaBuilder, databasePrefix: string): Promise<IFetchDatabasesResultItem[]> {
|
|
33
|
+
const res = await schemaBuilder.raw(`show databases like '${databasePrefix}%'`);
|
|
34
|
+
let dbs = res[0];
|
|
35
|
+
dbs = dbs.map(db => {
|
|
36
|
+
const name = db[Object.keys(db)[0]];
|
|
37
|
+
return { name };
|
|
38
|
+
});
|
|
39
|
+
return dbs;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
async createDatabase(schemaBuilder: Knex.SchemaBuilder, databaseName: string): Promise<string> {
|
|
43
|
+
await schemaBuilder.raw(`CREATE DATABASE \`${databaseName}\` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci`);
|
|
44
|
+
return databaseName;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
async dropDatabase(schemaBuilder: Knex.SchemaBuilder, databaseName: string): Promise<void> {
|
|
48
|
+
await schemaBuilder.raw(`drop database \`${databaseName}\``);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
async fetchIndexes(schemaBuilder: Knex.SchemaBuilder, tableName: string): Promise<IFetchIndexesResultItem[]> {
|
|
52
|
+
const res: any = await schemaBuilder.raw(`show index from ${tableName}`);
|
|
53
|
+
let items = res[0];
|
|
54
|
+
items = items.map(item => {
|
|
55
|
+
return {
|
|
56
|
+
indexName: item.Key_name,
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
return items;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
async insert(builder: Knex.QueryBuilder, datas: any[]): Promise<TableIdentity[]> {
|
|
63
|
+
return await this.insertAsMysql(builder, datas);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
query(result) {
|
|
67
|
+
return result[0];
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
async viewDependents(builder: Knex.QueryBuilder, viewName: string): Promise<string[]> {
|
|
71
|
+
const sqlViews = `
|
|
72
|
+
SELECT T.TABLE_SCHEMA ref_schema,
|
|
73
|
+
T.TABLE_NAME ref_name,
|
|
74
|
+
V.TABLE_NAME dep_name,
|
|
75
|
+
T.TABLE_TYPE type
|
|
76
|
+
FROM INFORMATION_SCHEMA.TABLES T
|
|
77
|
+
INNER JOIN INFORMATION_SCHEMA.VIEWS V
|
|
78
|
+
ON V.TABLE_SCHEMA = T.TABLE_SCHEMA
|
|
79
|
+
AND V.VIEW_DEFINITION LIKE CONCAT('%\`',T.TABLE_NAME,'\`%')
|
|
80
|
+
WHERE T.TABLE_SCHEMA = DATABASE()
|
|
81
|
+
`;
|
|
82
|
+
const items = await builder.distinct('dep_name').fromRaw(`(${sqlViews}) as viewDependents`).where({ ref_name: viewName });
|
|
83
|
+
return items.map(item => item.dep_name);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
async function mysql_afterCreate(conn) {
|
|
88
|
+
await _executeQuery(conn, 'SET SESSION explicit_defaults_for_timestamp=ON');
|
|
89
|
+
await _executeQuery(conn, "SET SESSION sql_mode='NO_AUTO_VALUE_ON_ZERO'");
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
async function _executeQuery(conn, sql) {
|
|
93
|
+
const queryAsync = promisify(cb => conn.query(sql, cb));
|
|
94
|
+
return await queryAsync();
|
|
95
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IDecoratorDatabaseDialectOptions } from 'vona-module-a-orm';
|
|
2
|
+
|
|
3
|
+
import { $Class, Virtual } from 'vona';
|
|
4
|
+
import { DatabaseDialect } from 'vona-module-a-orm';
|
|
5
|
+
|
|
6
|
+
import { DatabaseDialectMysql } from './databaseDialect.mysql.ts';
|
|
7
|
+
|
|
8
|
+
export interface IDatabaseDialectOptionsMysql3 extends IDecoratorDatabaseDialectOptions {}
|
|
9
|
+
|
|
10
|
+
@DatabaseDialect<IDatabaseDialectOptionsMysql3>()
|
|
11
|
+
@Virtual()
|
|
12
|
+
export class DatabaseDialectMysql3 extends $Class.extend(DatabaseDialectMysql) {}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { Knex } from 'knex';
|
|
2
|
+
import type { TableIdentity } from 'table-identity';
|
|
3
|
+
import type {
|
|
4
|
+
ConfigDatabaseClient,
|
|
5
|
+
IDatabaseDialectCapabilities,
|
|
6
|
+
IDecoratorDatabaseDialectOptions,
|
|
7
|
+
IFetchDatabasesResultItem,
|
|
8
|
+
IFetchIndexesResultItem,
|
|
9
|
+
} from 'vona-module-a-orm';
|
|
10
|
+
|
|
11
|
+
import { BeanDatabaseDialectBase, DatabaseDialect } from 'vona-module-a-orm';
|
|
12
|
+
|
|
13
|
+
export interface IDatabaseDialectOptionsPg extends IDecoratorDatabaseDialectOptions {}
|
|
14
|
+
|
|
15
|
+
@DatabaseDialect<IDatabaseDialectOptionsPg>()
|
|
16
|
+
export class DatabaseDialectPg extends BeanDatabaseDialectBase {
|
|
17
|
+
protected _capabilities: IDatabaseDialectCapabilities = {
|
|
18
|
+
like: true,
|
|
19
|
+
ilike: true,
|
|
20
|
+
level: true,
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
protected _configBase?: Partial<ConfigDatabaseClient> = undefined;
|
|
24
|
+
|
|
25
|
+
async fetchDatabases(schemaBuilder: Knex.SchemaBuilder, databasePrefix: string): Promise<IFetchDatabasesResultItem[]> {
|
|
26
|
+
const res: any = await schemaBuilder.raw(`select datname from pg_database where datname like '${databasePrefix}%'`);
|
|
27
|
+
let dbs = res.rows;
|
|
28
|
+
dbs = dbs.map(db => {
|
|
29
|
+
return { name: db.datname };
|
|
30
|
+
});
|
|
31
|
+
return dbs;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
async createDatabase(schemaBuilder: Knex.SchemaBuilder, databaseName: string): Promise<string> {
|
|
35
|
+
await schemaBuilder.raw(`CREATE DATABASE "${databaseName}" encoding=UTF8`);
|
|
36
|
+
return databaseName;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
async dropDatabase(schemaBuilder: Knex.SchemaBuilder, databaseName: string): Promise<void> {
|
|
40
|
+
await schemaBuilder.raw(`DROP DATABASE "${databaseName}"`);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
async fetchIndexes(schemaBuilder: Knex.SchemaBuilder, tableName: string): Promise<IFetchIndexesResultItem[]> {
|
|
44
|
+
const res: any = await schemaBuilder.raw(`select indexname,indexdef from pg_indexes where tablename='${tableName}'`);
|
|
45
|
+
let items = res.rows;
|
|
46
|
+
items = items.map(item => {
|
|
47
|
+
return {
|
|
48
|
+
indexName: item.indexname,
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
return items;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
async insert(builder: Knex.QueryBuilder, datas: any[]): Promise<TableIdentity[]> {
|
|
55
|
+
return await this.insertAsPg(builder, datas);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
query(result) {
|
|
59
|
+
return result.rows;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
async viewDependents(builder: Knex.QueryBuilder, viewName: string): Promise<string[]> {
|
|
63
|
+
const sqlViews = `
|
|
64
|
+
select
|
|
65
|
+
ref_nsp.nspname ref_schema, ref_cl.relname ref_name,
|
|
66
|
+
rwr_cl.relkind dep_type,
|
|
67
|
+
rwr_nsp.nspname dep_schema,
|
|
68
|
+
rwr_cl.relname dep_name
|
|
69
|
+
from pg_depend dep
|
|
70
|
+
join pg_class ref_cl on dep.refobjid = ref_cl.oid
|
|
71
|
+
join pg_namespace ref_nsp on ref_cl.relnamespace = ref_nsp.oid
|
|
72
|
+
join pg_rewrite rwr on dep.objid = rwr.oid
|
|
73
|
+
join pg_class rwr_cl on rwr.ev_class = rwr_cl.oid
|
|
74
|
+
join pg_namespace rwr_nsp on rwr_cl.relnamespace = rwr_nsp.oid
|
|
75
|
+
where
|
|
76
|
+
dep.deptype = 'n'
|
|
77
|
+
and dep.classid = 'pg_rewrite'::regclass
|
|
78
|
+
`;
|
|
79
|
+
let items = await builder.distinct('dep_name').fromRaw(`(${sqlViews}) as depend_view`).where({ ref_name: viewName });
|
|
80
|
+
items = items.map(item => item.dep_name);
|
|
81
|
+
items = items.filter((item: string) => item.toLowerCase() !== viewName.toLowerCase());
|
|
82
|
+
return items;
|
|
83
|
+
}
|
|
84
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './.metadata/index.ts';
|