@forestadmin/datasource-sql 1.14.16 → 1.14.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.
|
@@ -8,7 +8,12 @@ const sequelize_type_1 = __importDefault(require("./helpers/sequelize-type"));
|
|
|
8
8
|
const createdAtFields = ['createdAt', 'created_at'];
|
|
9
9
|
const updatedAtFields = ['updatedAt', 'updated_at'];
|
|
10
10
|
const deletedAtFields = ['deletedAt', 'deleted_at'];
|
|
11
|
-
const
|
|
11
|
+
const timestampFields = [...createdAtFields, ...updatedAtFields];
|
|
12
|
+
const autoTimestampFieldsMap = {
|
|
13
|
+
created_at: 'createdAt',
|
|
14
|
+
updated_at: 'updatedAt',
|
|
15
|
+
deleted_at: 'deletedAt',
|
|
16
|
+
};
|
|
12
17
|
class ModelBuilder {
|
|
13
18
|
static defineModels(sequelize, logger, introspection) {
|
|
14
19
|
for (const table of introspection.tables) {
|
|
@@ -29,6 +34,7 @@ class ModelBuilder {
|
|
|
29
34
|
timestamps: hasTimestamps,
|
|
30
35
|
paranoid: isParanoid,
|
|
31
36
|
schema: table.schema,
|
|
37
|
+
...this.getAutoTimestampFieldsOverride(table),
|
|
32
38
|
});
|
|
33
39
|
// @see https://sequelize.org/docs/v6/other-topics/legacy/#primary-keys
|
|
34
40
|
// Tell sequelize NOT to invent primary keys when we don't provide them.
|
|
@@ -46,7 +52,7 @@ class ModelBuilder {
|
|
|
46
52
|
static buildModelAttributes(logger, table, hasTimestamps, isParanoid, dialect) {
|
|
47
53
|
const modelAttrs = {};
|
|
48
54
|
for (const column of table.columns) {
|
|
49
|
-
const isExplicit = !(hasTimestamps &&
|
|
55
|
+
const isExplicit = !(hasTimestamps && timestampFields.includes(column.name)) &&
|
|
50
56
|
!(isParanoid && deletedAtFields.includes(column.name));
|
|
51
57
|
const type = sequelize_type_1.default.makeType(dialect, column.type, table.name, column.name);
|
|
52
58
|
if (column.defaultValue && column.isLiteralDefaultValue) {
|
|
@@ -115,6 +121,14 @@ class ModelBuilder {
|
|
|
115
121
|
static isParanoid(table) {
|
|
116
122
|
return !!table.columns.find(c => deletedAtFields.includes(c.name));
|
|
117
123
|
}
|
|
124
|
+
static getAutoTimestampFieldsOverride(table) {
|
|
125
|
+
return table.columns
|
|
126
|
+
.filter(column => !!autoTimestampFieldsMap[column.name])
|
|
127
|
+
.reduce((acc, column) => {
|
|
128
|
+
acc[autoTimestampFieldsMap[column.name]] = column.name;
|
|
129
|
+
return acc;
|
|
130
|
+
}, {});
|
|
131
|
+
}
|
|
118
132
|
}
|
|
119
133
|
exports.default = ModelBuilder;
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3JtLWJ1aWxkZXIvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSx5Q0FBK0Q7QUFJL0QsOEVBQTREO0FBSzVELE1BQU0sZUFBZSxHQUFHLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO0FBQ3BELE1BQU0sZUFBZSxHQUFHLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO0FBQ3BELE1BQU0sZUFBZSxHQUFHLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO0FBQ3BELE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBRyxlQUFlLEVBQUUsR0FBRyxlQUFlLENBQUMsQ0FBQztBQUVqRSxNQUFNLHNCQUFzQixHQUFHO0lBQzdCLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLFVBQVUsRUFBRSxXQUFXO0NBQ3hCLENBQUM7QUFFRixNQUFxQixZQUFZO0lBQy9CLE1BQU0sQ0FBQyxZQUFZLENBQ2pCLFNBQW9CLEVBQ3BCLE1BQWMsRUFDZCxhQUFrQztRQUVsQyxLQUFLLE1BQU0sS0FBSyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUU7WUFDeEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDckQ7UUFFRCxLQUFLLE1BQU0sS0FBSyxJQUFJLGFBQWEsQ0FBQyxLQUFLLEVBQUU7WUFDdkMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUN4RTtJQUNILENBQUM7SUFFTyxNQUFNLENBQUMsb0JBQW9CLENBQ2pDLFNBQW9CLEVBQ3BCLE1BQWMsRUFDZCxLQUFrQjtRQUVsQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtB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
|