vona-module-a-ormdialect 5.0.25 → 5.1.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/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 +25 -24
- 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,15 +1,13 @@
|
|
|
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 = {
|
|
@@ -70,7 +68,10 @@ let DatabaseDialectBetterSqlite3 = (_dec$4 = DatabaseDialect(), _dec2$4 = BeanIn
|
|
|
70
68
|
_getDbDir() {
|
|
71
69
|
return path.join(this.app.projectPath, '.app/sqlite3');
|
|
72
70
|
}
|
|
73
|
-
}
|
|
71
|
+
};
|
|
72
|
+
DatabaseDialectBetterSqlite3 = __decorate([DatabaseDialect(), BeanInfo({
|
|
73
|
+
module: "a-ormdialect"
|
|
74
|
+
})], DatabaseDialectBetterSqlite3);
|
|
74
75
|
async function sqlite3_afterCreate(conn) {
|
|
75
76
|
const pragma = conn.pragma('journal_mode');
|
|
76
77
|
if (pragma[0]?.journal_mode?.toLocaleLowerCase() !== 'wal') {
|
|
@@ -78,10 +79,7 @@ async function sqlite3_afterCreate(conn) {
|
|
|
78
79
|
}
|
|
79
80
|
}
|
|
80
81
|
|
|
81
|
-
|
|
82
|
-
let DatabaseDialectMysql = (_dec$3 = DatabaseDialect(), _dec2$3 = BeanInfo({
|
|
83
|
-
module: "a-ormdialect"
|
|
84
|
-
}), _dec$3(_class$3 = _dec2$3(_class$3 = class DatabaseDialectMysql extends BeanDatabaseDialectBase {
|
|
82
|
+
let DatabaseDialectMysql = class DatabaseDialectMysql extends BeanDatabaseDialectBase {
|
|
85
83
|
constructor(...args) {
|
|
86
84
|
super(...args);
|
|
87
85
|
this._capabilities = {
|
|
@@ -148,7 +146,10 @@ let DatabaseDialectMysql = (_dec$3 = DatabaseDialect(), _dec2$3 = BeanInfo({
|
|
|
148
146
|
});
|
|
149
147
|
return items.map(item => item.dep_name);
|
|
150
148
|
}
|
|
151
|
-
}
|
|
149
|
+
};
|
|
150
|
+
DatabaseDialectMysql = __decorate([DatabaseDialect(), BeanInfo({
|
|
151
|
+
module: "a-ormdialect"
|
|
152
|
+
})], DatabaseDialectMysql);
|
|
152
153
|
async function mysql_afterCreate(conn) {
|
|
153
154
|
await _executeQuery(conn, 'SET SESSION explicit_defaults_for_timestamp=ON');
|
|
154
155
|
await _executeQuery(conn, "SET SESSION sql_mode='NO_AUTO_VALUE_ON_ZERO'");
|
|
@@ -158,15 +159,12 @@ async function _executeQuery(conn, sql) {
|
|
|
158
159
|
return await queryAsync();
|
|
159
160
|
}
|
|
160
161
|
|
|
161
|
-
|
|
162
|
-
|
|
162
|
+
let DatabaseDialectMysql3 = class DatabaseDialectMysql3 extends $Class.extend(DatabaseDialectMysql) {};
|
|
163
|
+
DatabaseDialectMysql3 = __decorate([DatabaseDialect(), Virtual(), BeanInfo({
|
|
163
164
|
module: "a-ormdialect"
|
|
164
|
-
}),
|
|
165
|
+
})], DatabaseDialectMysql3);
|
|
165
166
|
|
|
166
|
-
|
|
167
|
-
let DatabaseDialectPg = (_dec$1 = DatabaseDialect(), _dec2$1 = BeanInfo({
|
|
168
|
-
module: "a-ormdialect"
|
|
169
|
-
}), _dec$1(_class$1 = _dec2$1(_class$1 = class DatabaseDialectPg extends BeanDatabaseDialectBase {
|
|
167
|
+
let DatabaseDialectPg = class DatabaseDialectPg extends BeanDatabaseDialectBase {
|
|
170
168
|
constructor(...args) {
|
|
171
169
|
super(...args);
|
|
172
170
|
this._capabilities = {
|
|
@@ -233,13 +231,16 @@ let DatabaseDialectPg = (_dec$1 = DatabaseDialect(), _dec2$1 = BeanInfo({
|
|
|
233
231
|
items = items.filter(item => item.toLowerCase() !== viewName.toLowerCase());
|
|
234
232
|
return items;
|
|
235
233
|
}
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
var _dec, _dec2, _class;
|
|
239
|
-
let ScopeModuleAOrmdialect = (_dec = Scope(), _dec2 = BeanInfo({
|
|
234
|
+
};
|
|
235
|
+
DatabaseDialectPg = __decorate([DatabaseDialect(), BeanInfo({
|
|
240
236
|
module: "a-ormdialect"
|
|
241
|
-
}),
|
|
237
|
+
})], DatabaseDialectPg);
|
|
242
238
|
|
|
239
|
+
let ScopeModuleAOrmdialect = class ScopeModuleAOrmdialect extends BeanScopeBase {};
|
|
240
|
+
ScopeModuleAOrmdialect = __decorate([Scope(), BeanInfo({
|
|
241
|
+
module: "a-ormdialect"
|
|
242
|
+
})], ScopeModuleAOrmdialect);
|
|
243
243
|
/** scope: end */
|
|
244
244
|
|
|
245
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.25",
|
|
5
|
-
"title": "a-ormdialect",
|
|
6
|
-
"vonaModule": {
|
|
7
|
-
"dependencies": {},
|
|
8
|
-
"globalDependencies": {
|
|
9
|
-
"better-sqlite3": true
|
|
10
|
-
}
|
|
11
|
-
},
|
|
3
|
+
"version": "5.1.2",
|
|
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": "a79189b882c17af5911573896a781bbb0046d37d"
|
|
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';
|