@forestadmin/datasource-sql 1.7.36 → 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50cm9zcGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludHJvc3BlY3Rpb24vaW50cm9zcGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EseUNBQTJEO0FBRTNELDBGQUFnRTtBQUNoRSxzRkFBNEQ7QUFVNUQsTUFBcUIsWUFBWTtJQUMvQixNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFvQixFQUFFLE1BQWU7UUFDM0QsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQWlDLENBQUMsQ0FBQztRQUMvRSxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDaEYsTUFBTSxNQUFNLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFN0IsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELDZEQUE2RDtJQUNyRCxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDaEMsU0FBK0I7UUFFL0IsTUFBTSxnQkFBZ0IsR0FBdUMsTUFBTSxTQUFTO2FBQ3pFLGlCQUFpQixFQUFFO2FBQ25CLGFBQWEsRUFBRSxDQUFDO1FBRW5CLE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVyRiw0Q0FBNEM7UUFDNUMsOERBQThEO1FBQzlELDJGQUEyRjtRQUMzRixPQUFPLENBQ0wsZ0JBQWdCO2FBQ2IsR0FBRyxDQUFDLENBQUMsZUFBa0QsRUFBRSxFQUFFLENBQzFELE9BQU8sZUFBZSxLQUFLLFFBQVE7WUFDakMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFO1lBQ3pELENBQUMsQ0FBQztnQkFDRSxNQUFNLEVBQUUsZUFBZSxDQUFDLE1BQU0sSUFBSSxlQUFlO2dCQUNqRCxTQUFTLEVBQUUsZUFBZSxDQUFDLFNBQVM7YUFDckMsQ0FDTjtZQUNELG1EQUFtRDthQUNsRCxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLGVBQWUsQ0FBQyxDQUMvRCxDQUFDO0lBQ0osQ0FBQztJQUVPLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUErQjtRQUM3RCxRQUFRLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUM5QixLQUFLLFVBQVU7Z0JBQ2IsT0FBTyxRQUFRLENBQUM7WUFDbEIsS0FBSyxPQUFPO2dCQUNWLE9BQU8sS0FBSyxDQUFDO1lBQ2YscUVBQXFFO1lBQ3JFLEtBQUssU0FBUyxDQUFDO1lBQ2YsS0FBSyxPQUFPO2dCQUNWLE9BQU8sU0FBUyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3JDO2dCQUNFLE9BQU8sU0FBUyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVELGlDQUFpQztJQUN6QixNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDM0IsU0FBb0IsRUFDcEIsTUFBYyxFQUNkLGVBQXlDO1FBRXpDLE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxpQkFBaUIsRUFBdUIsQ0FBQztRQUUxRSxNQUFNLENBQUMsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLGVBQWUsQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUM1RSxjQUFjLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQztZQUM3QyxjQUFjLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQztZQUV6QyxjQUFjLENBQUMsK0JBQStCLENBQUMsZUFBZSxDQUFDO1NBQ2hFLENBQUMsQ0FBQztRQUVILE1BQU0sSUFBSSxDQUFDLHdCQUF3QixDQUFDLGVBQWUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXpGLE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDL0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLEVBQUUsRUFBRTtZQUNuRSxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsTUFBTTtZQUN2Qyw4RUFBOEU7WUFDOUUsc0VBQXNFO1lBQ3RFLG9DQUFvQztZQUNwQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxXQUFXLEtBQUssZUFBZSxDQUFDLE1BQU0sQ0FDdkUsQ0FBQztZQUNGLE1BQU0sT0FBTyxHQUFHLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUVsRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckUsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLE9BQU87WUFDTCxJQUFJLEVBQUUsZUFBZSxDQUFDLFNBQVM7WUFDL0IsTUFBTSxFQUFFLGVBQWUsQ0FBQyxNQUFNO1lBQzlCLE9BQU8sRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUNoQyxNQUFNLEVBQUUsWUFBWTtpQkFDakIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDO2lCQUNsQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM1QyxDQUFDO0lBQ0osQ0FBQztJQUVPLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUM1QixTQUFvQixFQUNwQixNQUFjLEVBQ2QsZUFBeUMsRUFDekMsT0FJQztRQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNsRCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsVUFBVSxFQUFhLENBQUM7UUFDbEQsTUFBTSxhQUFhLEdBQUcsSUFBSSw0QkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV0RCxJQUFJO1lBQ0YsTUFBTSxJQUFJLEdBQUcsTUFBTSxhQUFhLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDN0UsTUFBTSxNQUFNLEdBQUcsSUFBSSw4QkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUUvQywyRUFBMkU7WUFDM0UsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUMzQixXQUFXLENBQUMsYUFBYSxJQUFJLFdBQVcsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FDbEYsQ0FBQztZQUVGLE9BQU87Z0JBQ0wsSUFBSTtnQkFDSixhQUFhO2dCQUNiLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQztnQkFDakYscUJBQXFCLEVBQUUsYUFBYTtvQkFDbEMsQ0FBQyxDQUFDLEtBQUs7b0JBQ1AsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUM7Z0JBQ3BELElBQUk7Z0JBQ0osU0FBUyxFQUFFLFdBQVcsQ0FBQyxTQUFTO2dCQUNoQyxVQUFVLEVBQUUsV0FBVyxDQUFDLFVBQVU7Z0JBQ2xDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDaEMsS0FBSyxFQUFFLENBQUMsQ0FBQyxtQkFBbUI7b0JBQzVCLE1BQU0sRUFBRSxDQUFDLENBQUMsb0JBQW9CO2lCQUMvQixDQUFDLENBQUM7YUFDSixDQUFDO1NBQ0g7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxtQkFBbUIsZUFBZSxDQUFDLFNBQVMsSUFBSSxJQUFJLEtBQUssQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7U0FDekY7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFlO1FBQzVDLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFO1lBQzFCLG9GQUFvRjtZQUNwRixLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQzFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FDbkUsQ0FBQztZQUVGLEtBQUssTUFBTSxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtnQkFDbEMsa0VBQWtFO2dCQUNsRSxNQUFNLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFO29CQUMxRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQy9ELE1BQU0sU0FBUyxHQUFHLFFBQVEsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBRTVFLE9BQU8sUUFBUSxJQUFJLFNBQVMsQ0FBQztnQkFDL0IsQ0FBQyxDQUFDLENBQUM7YUFDSjtTQUNGO0lBQ0gsQ0FBQztJQUVPLE1BQU0sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQzNDLGVBQXlDLEVBQ3pDLFNBQW9CLEVBQ3BCLGVBQXFDLEVBQ3JDLE1BQWM7UUFFZCxJQUFJLDRCQUE0QixHQUEyRCxFQUFFLENBQUM7UUFDOUYsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLFVBQVUsRUFBYSxDQUFDO1FBRWxELElBQUksT0FBTyxLQUFLLFFBQVEsRUFBRTtZQUN4Qiw0QkFBNEIsR0FBRyxNQUFNLFNBQVMsQ0FBQyxLQUFLLENBSWxEO2tEQUMwQyxFQUMxQztnQkFDRSxZQUFZLEVBQUUsRUFBRSxTQUFTLEVBQUUsZUFBZSxDQUFDLFNBQVMsRUFBRTtnQkFDdEQsSUFBSSxFQUFFLHNCQUFVLENBQUMsTUFBTTthQUN4QixDQUNGLENBQUM7U0FDSDthQUFNO1lBQ0wsNEJBQTRCLEdBQUcsTUFBTSxTQUFTLENBQUMsS0FBSyxDQUlsRDs7Ozs7O1NBTUMsRUFDRDtnQkFDRSxZQUFZLEVBQUU7b0JBQ1osU0FBUyxFQUFFLGVBQWUsQ0FBQyxTQUFTO29CQUNwQyxNQUFNLEVBQUUsZUFBZSxDQUFDLE1BQU0sSUFBSSxJQUFJO2lCQUN2QztnQkFDRCxJQUFJLEVBQUUsc0JBQVUsQ0FBQyxNQUFNO2FBQ3hCLENBQ0YsQ0FBQztTQUNIO1FBRUQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLDRCQUE0QixFQUFFLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRU8sTUFBTSxDQUFDLHFCQUFxQixDQUNsQyw0QkFBdUMsRUFDdkMsZUFBcUMsRUFDckMsTUFBYztRQUVkLElBQUksNEJBQTRCLENBQUMsTUFBTSxLQUFLLGVBQWUsQ0FBQyxNQUFNLEVBQUU7WUFDbEUsTUFBTSxlQUFlLEdBQUcsSUFBSSxHQUFHLENBQzVCLDRCQUFrRixDQUFDLEdBQUcsQ0FDckYsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQyxlQUFlLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUN4RSxDQUNGLENBQUM7WUFDRixlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFO2dCQUM3QyxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUM1QixJQUFJLEdBQUcsQ0FBQyxlQUFlLEtBQUssY0FBYyxFQUFFO3dCQUMxQyxlQUFlLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3FCQUM3QjtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBRUgsZUFBZSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDNUIsTUFBTSxFQUFFLENBQ04sT0FBTztnQkFDUCxtQ0FBbUM7Z0JBQ25DLDJDQUEyQyxHQUFHLENBQUMsZUFBZSxlQUFlLEdBQUcsQ0FBQyxVQUFVLGtDQUFrQyxDQUM5SCxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7Q0FDRjtBQTNPRCwrQkEyT0MifQ==
|
|
@@ -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
|