vona-module-a-ormdialect 5.1.16 → 5.1.18
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/bean/databaseDialect.mysql.d.ts +3 -1
- package/dist/bean/databaseDialect.mysql.d.ts.map +1 -1
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/.metadata/index.ts +8 -8
- package/src/bean/databaseDialect.betterSqlite3.ts +1 -0
- package/src/bean/databaseDialect.mysql.ts +28 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Knex } from 'knex';
|
|
2
2
|
import type { TableIdentity } from 'table-identity';
|
|
3
|
-
import type { ConfigDatabaseClient, IDatabaseDialectCapabilities, IDecoratorDatabaseDialectOptions, IFetchDatabasesResultItem, IFetchIndexesResultItem } from 'vona-module-a-orm';
|
|
3
|
+
import type { ConfigDatabaseClient, IDatabaseDialectCapabilities, IDecoratorDatabaseDialectOptions, IFetchDatabasesResultItem, TypeDatabaseDialectTableColumnsFn, IFetchIndexesResultItem } from 'vona-module-a-orm';
|
|
4
4
|
import { ServiceDatabaseDialectBase } from 'vona-module-a-orm';
|
|
5
5
|
export interface IDatabaseDialectOptionsMysql extends IDecoratorDatabaseDialectOptions {
|
|
6
6
|
}
|
|
@@ -12,6 +12,8 @@ export declare class DatabaseDialectMysql extends ServiceDatabaseDialectBase {
|
|
|
12
12
|
dropDatabase(schemaBuilder: Knex.SchemaBuilder, databaseName: string): Promise<void>;
|
|
13
13
|
fetchIndexes(schemaBuilder: Knex.SchemaBuilder, tableName: string): Promise<IFetchIndexesResultItem[]>;
|
|
14
14
|
insert(builder: Knex.QueryBuilder, datas: any[]): Promise<[TableIdentity[], Knex.QueryBuilder]>;
|
|
15
|
+
select(builder: Knex.QueryBuilder, datas: any[], fn: TypeDatabaseDialectTableColumnsFn): Promise<any[]>;
|
|
16
|
+
fetchColumns(connection: Knex, tableName: string): Promise<Record<string, Knex.ColumnInfo>>;
|
|
15
17
|
query(result: any): any;
|
|
16
18
|
viewDependents(builder: Knex.QueryBuilder, viewName: string): Promise<string[]>;
|
|
17
19
|
}
|
|
@@ -1 +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,0BAA0B,EAAmB,MAAM,mBAAmB,CAAC;AAEhF,MAAM,WAAW,4BAA6B,SAAQ,gCAAgC;CAAG;AAEzF,qBACa,oBAAqB,SAAQ,0BAA0B;IAClE,SAAS,CAAC,aAAa,EAAE,4BAA4B,CAInD;IAEF,SAAS,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAMnD;IAEI,cAAc,CAClB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAUjC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOxF,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpF,YAAY,CAChB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAW/B,MAAM,CACV,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,KAAK,EAAE,GAAG,EAAE,GACX,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;
|
|
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,iCAAiC,EACjC,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,0BAA0B,EAAmB,MAAM,mBAAmB,CAAC;AAEhF,MAAM,WAAW,4BAA6B,SAAQ,gCAAgC;CAAG;AAEzF,qBACa,oBAAqB,SAAQ,0BAA0B;IAClE,SAAS,CAAC,aAAa,EAAE,4BAA4B,CAInD;IAEF,SAAS,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAMnD;IAEI,cAAc,CAClB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAUjC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOxF,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpF,YAAY,CAChB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAW/B,MAAM,CACV,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,KAAK,EAAE,GAAG,EAAE,GACX,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAI1C,MAAM,CACV,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,KAAK,EAAE,GAAG,EAAE,EACZ,EAAE,EAAE,iCAAiC,GACpC,OAAO,CAAC,GAAG,EAAE,CAAC;IAIX,YAAY,CAChB,UAAU,EAAE,IAAI,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAgB3C,KAAK,CAAC,MAAM,KAAA;IAIN,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAkBtF"}
|
package/dist/index.js
CHANGED
|
@@ -73,6 +73,7 @@ DatabaseDialectBetterSqlite3 = __decorate([DatabaseDialect(), BeanInfo({
|
|
|
73
73
|
module: "a-ormdialect"
|
|
74
74
|
})], DatabaseDialectBetterSqlite3);
|
|
75
75
|
async function sqlite3_afterCreate(conn) {
|
|
76
|
+
conn.pragma('busy_timeout = 5000');
|
|
76
77
|
const pragma = conn.pragma('journal_mode');
|
|
77
78
|
if (pragma[0]?.journal_mode?.toLocaleLowerCase() !== 'wal') {
|
|
78
79
|
conn.pragma('journal_mode = wal');
|
|
@@ -126,6 +127,20 @@ let DatabaseDialectMysql = class DatabaseDialectMysql extends ServiceDatabaseDia
|
|
|
126
127
|
async insert(builder, datas) {
|
|
127
128
|
return await this.insertAsMysql(builder, datas);
|
|
128
129
|
}
|
|
130
|
+
async select(builder, datas, fn) {
|
|
131
|
+
return await this.selectAsMysql(builder, datas, fn);
|
|
132
|
+
}
|
|
133
|
+
async fetchColumns(connection, tableName) {
|
|
134
|
+
const columns = await super.fetchColumns(connection, tableName);
|
|
135
|
+
const result = await connection.raw(`SELECT COLUMN_NAME AS columnName, COLUMN_TYPE AS columnType
|
|
136
|
+
FROM information_schema.columns
|
|
137
|
+
WHERE table_schema = database() AND table_name = ?`, [tableName]);
|
|
138
|
+
for (const item of result[0]) {
|
|
139
|
+
const column = columns[item.columnName];
|
|
140
|
+
if (column) column.columnType = item.columnType;
|
|
141
|
+
}
|
|
142
|
+
return columns;
|
|
143
|
+
}
|
|
129
144
|
query(result) {
|
|
130
145
|
return result[0];
|
|
131
146
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +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","ServiceDatabaseDialectBase","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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
|
|
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","ServiceDatabaseDialectBase","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","selectAsMysql","fetchColumns","connection","columns","column","columnName","columnType","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
package/src/.metadata/index.ts
CHANGED
|
@@ -10,7 +10,7 @@ import type { IDatabaseDialectOptionsMysql3 } from '../bean/databaseDialect.mysq
|
|
|
10
10
|
import type { IDatabaseDialectOptionsPg } from '../bean/databaseDialect.pg.ts';
|
|
11
11
|
import 'vona-module-a-orm';
|
|
12
12
|
declare module 'vona-module-a-orm' {
|
|
13
|
-
|
|
13
|
+
|
|
14
14
|
export interface IDatabaseDialectRecord {
|
|
15
15
|
'a-ormdialect:betterSqlite3': IDatabaseDialectOptionsBetterSqlite3;
|
|
16
16
|
'a-ormdialect:mysql': IDatabaseDialectOptionsMysql;
|
|
@@ -18,10 +18,10 @@ declare module 'vona-module-a-orm' {
|
|
|
18
18
|
'a-ormdialect:pg': IDatabaseDialectOptionsPg;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
|
|
22
22
|
}
|
|
23
23
|
declare module 'vona-module-a-ormdialect' {
|
|
24
|
-
|
|
24
|
+
|
|
25
25
|
export interface DatabaseDialectBetterSqlite3 {
|
|
26
26
|
/** @internal */
|
|
27
27
|
get scope(): ScopeModuleAOrmdialect;
|
|
@@ -53,7 +53,7 @@ declare module 'vona-module-a-ormdialect' {
|
|
|
53
53
|
get $beanFullName(): 'a-ormdialect.databaseDialect.pg';
|
|
54
54
|
get $onionName(): 'a-ormdialect:pg';
|
|
55
55
|
get $onionOptions(): IDatabaseDialectOptionsPg;
|
|
56
|
-
}
|
|
56
|
+
}
|
|
57
57
|
}
|
|
58
58
|
/** databaseDialect: end */
|
|
59
59
|
/** databaseDialect: begin */
|
|
@@ -91,11 +91,11 @@ declare module 'vona' {
|
|
|
91
91
|
export interface IBeanScopeContainer {
|
|
92
92
|
ormdialect: ScopeModuleAOrmdialect;
|
|
93
93
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
94
|
|
|
97
|
-
|
|
98
95
|
|
|
99
|
-
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
100
|
}
|
|
101
101
|
/** scope: end */
|
|
@@ -98,6 +98,7 @@ export class DatabaseDialectBetterSqlite3 extends ServiceDatabaseDialectBase {
|
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
async function sqlite3_afterCreate(conn) {
|
|
101
|
+
conn.pragma('busy_timeout = 5000');
|
|
101
102
|
const pragma: { journal_mode: string }[] = conn.pragma('journal_mode');
|
|
102
103
|
if (pragma[0]?.journal_mode?.toLocaleLowerCase() !== 'wal') {
|
|
103
104
|
conn.pragma('journal_mode = wal');
|
|
@@ -5,6 +5,7 @@ import type {
|
|
|
5
5
|
IDatabaseDialectCapabilities,
|
|
6
6
|
IDecoratorDatabaseDialectOptions,
|
|
7
7
|
IFetchDatabasesResultItem,
|
|
8
|
+
TypeDatabaseDialectTableColumnsFn,
|
|
8
9
|
IFetchIndexesResultItem,
|
|
9
10
|
} from 'vona-module-a-orm';
|
|
10
11
|
|
|
@@ -74,6 +75,33 @@ export class DatabaseDialectMysql extends ServiceDatabaseDialectBase {
|
|
|
74
75
|
return await this.insertAsMysql(builder, datas);
|
|
75
76
|
}
|
|
76
77
|
|
|
78
|
+
async select(
|
|
79
|
+
builder: Knex.QueryBuilder,
|
|
80
|
+
datas: any[],
|
|
81
|
+
fn: TypeDatabaseDialectTableColumnsFn,
|
|
82
|
+
): Promise<any[]> {
|
|
83
|
+
return await this.selectAsMysql(builder, datas, fn);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
async fetchColumns(
|
|
87
|
+
connection: Knex,
|
|
88
|
+
tableName: string,
|
|
89
|
+
): Promise<Record<string, Knex.ColumnInfo>> {
|
|
90
|
+
const columns = await super.fetchColumns(connection, tableName);
|
|
91
|
+
const result = await connection.raw(
|
|
92
|
+
`SELECT COLUMN_NAME AS columnName, COLUMN_TYPE AS columnType
|
|
93
|
+
FROM information_schema.columns
|
|
94
|
+
WHERE table_schema = database() AND table_name = ?`,
|
|
95
|
+
[tableName],
|
|
96
|
+
);
|
|
97
|
+
for (const item of result[0]) {
|
|
98
|
+
const column = columns[item.columnName];
|
|
99
|
+
if (column)
|
|
100
|
+
(column as Knex.ColumnInfo & { columnType?: string }).columnType = item.columnType;
|
|
101
|
+
}
|
|
102
|
+
return columns;
|
|
103
|
+
}
|
|
104
|
+
|
|
77
105
|
query(result) {
|
|
78
106
|
return result[0];
|
|
79
107
|
}
|