@forestadmin/datasource-sql 1.7.35 → 1.7.37
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.
|
@@ -5,6 +5,7 @@ export default class Introspector {
|
|
|
5
5
|
static introspect(sequelize: Sequelize, logger?: Logger): Promise<Table[]>;
|
|
6
6
|
/** Get names of all tables in the public schema of the db */
|
|
7
7
|
private static getTableNames;
|
|
8
|
+
private static getDefaultSchema;
|
|
8
9
|
/** Instrospect a single table */
|
|
9
10
|
private static getTable;
|
|
10
11
|
private static getColumn;
|
|
@@ -19,10 +19,33 @@ class Introspector {
|
|
|
19
19
|
const tableIdentifiers = await sequelize
|
|
20
20
|
.getQueryInterface()
|
|
21
21
|
.showAllTables();
|
|
22
|
+
const requestedSchema = sequelize.options.schema || this.getDefaultSchema(sequelize);
|
|
22
23
|
// Sometimes sequelize returns only strings,
|
|
23
24
|
// and sometimes objects with a tableName and schema property.
|
|
24
25
|
// @see https://github.com/sequelize/sequelize/blob/main/src/dialects/mariadb/query.js#L295
|
|
25
|
-
return tableIdentifiers
|
|
26
|
+
return (tableIdentifiers
|
|
27
|
+
.map((tableIdentifier) => typeof tableIdentifier === 'string'
|
|
28
|
+
? { tableName: tableIdentifier, schema: requestedSchema }
|
|
29
|
+
: {
|
|
30
|
+
schema: tableIdentifier.schema || requestedSchema,
|
|
31
|
+
tableName: tableIdentifier.tableName,
|
|
32
|
+
})
|
|
33
|
+
// MSSQL returns all tables, not filtered by schema
|
|
34
|
+
.filter(identifier => identifier.schema === requestedSchema));
|
|
35
|
+
}
|
|
36
|
+
static getDefaultSchema(sequelize) {
|
|
37
|
+
switch (sequelize.getDialect()) {
|
|
38
|
+
case 'postgres':
|
|
39
|
+
return 'public';
|
|
40
|
+
case 'mssql':
|
|
41
|
+
return 'dbo';
|
|
42
|
+
// MariaDB returns the database name as "schema" in table identifiers
|
|
43
|
+
case 'mariadb':
|
|
44
|
+
case 'mysql':
|
|
45
|
+
return sequelize.getDatabaseName();
|
|
46
|
+
default:
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
26
49
|
}
|
|
27
50
|
/** Instrospect a single table */
|
|
28
51
|
static async getTable(sequelize, logger, tableIdentifier) {
|
|
@@ -144,4 +167,4 @@ class Introspector {
|
|
|
144
167
|
}
|
|
145
168
|
}
|
|
146
169
|
exports.default = Introspector;
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50cm9zcGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludHJvc3BlY3Rpb24vaW50cm9zcGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EseUNBQTJEO0FBRTNELDBGQUFnRTtBQUNoRSxzRkFBNEQ7QUFVNUQsTUFBcUIsWUFBWTtJQUMvQixNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFvQixFQUFFLE1BQWU7UUFDM0QsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQWlDLENBQUMsQ0FBQztRQUMvRSxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDaEYsTUFBTSxNQUFNLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFN0IsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELDZEQUE2RDtJQUNyRCxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDaEMsU0FBK0I7UUFFL0IsTUFBTSxnQkFBZ0IsR0FBdUMsTUFBTSxTQUFTO2FBQ3pFLGlCQUFpQixFQUFFO2FBQ25CLGFBQWEsRUFBRSxDQUFDO1FBRW5CLE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVyRiw0Q0FBNEM7UUFDNUMsOERBQThEO1FBQzlELDJGQUEyRjtRQUMzRixPQUFPLENBQ0wsZ0JBQWdCO2FBQ2IsR0FBRyxDQUFDLENBQUMsZUFBa0QsRUFBRSxFQUFFLENBQzFELE9BQU8sZUFBZSxLQUFLLFFBQVE7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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AbstractDataType, AbstractDataTypeConstructor, ColumnDescription, Logging, QueryInterface, QueryInterfaceOptions, QueryOptions, TableName } from 'sequelize/types';
|
|
1
|
+
import { AbstractDataType, AbstractDataTypeConstructor, ColumnDescription, Logging, QueryInterface, QueryInterfaceOptions, QueryOptions, Sequelize, TableName } from 'sequelize/types';
|
|
2
2
|
export interface SequelizeIndex {
|
|
3
3
|
name: string;
|
|
4
4
|
primary: boolean;
|
|
@@ -38,4 +38,9 @@ export interface QueryInterfaceExt extends QueryInterface {
|
|
|
38
38
|
schemaDelimiter?: string;
|
|
39
39
|
} & Logging)): Promise<Record<string, SequelizeColumn>>;
|
|
40
40
|
}
|
|
41
|
+
export interface SequelizeWithOptions extends Sequelize {
|
|
42
|
+
options: {
|
|
43
|
+
schema?: string;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
41
46
|
//# sourceMappingURL=type-overrides.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forestadmin/datasource-sql",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.37",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"publishConfig": {
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
"directory": "packages/datasource-sql"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@forestadmin/datasource-sequelize": "1.5.
|
|
16
|
-
"@forestadmin/datasource-toolkit": "1.28.
|
|
15
|
+
"@forestadmin/datasource-sequelize": "1.5.23",
|
|
16
|
+
"@forestadmin/datasource-toolkit": "1.28.1",
|
|
17
17
|
"pluralize": "^8.0.0",
|
|
18
18
|
"sequelize": "^6.28.0",
|
|
19
19
|
"socks": "^2.7.1",
|