- Aktualisierung der Modelle in verschiedenen Bereichen, um die Feldnamen im snake_case-Format zu verwenden. - Hinzufügen der Option freezeTableName zu den Modellen, um die Tabellennamen in der Datenbank unverändert zu lassen. - Verbesserung der Konsistenz und Lesbarkeit des Codes durch einheitliche Namenskonventionen.
50 lines
1.1 KiB
JavaScript
50 lines
1.1 KiB
JavaScript
import { Model, DataTypes } from 'sequelize';
|
|
import { sequelize } from '../../../utils/sequelize.js';
|
|
|
|
class DayProduction extends Model { }
|
|
|
|
DayProduction.init({
|
|
region_id: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false,
|
|
},
|
|
product_id: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false,
|
|
},
|
|
quantity: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false,
|
|
},
|
|
producer_id: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false,
|
|
},
|
|
production_timestamp: {
|
|
type: DataTypes.DATE,
|
|
allowNull: false,
|
|
defaultValue: sequelize.literal('CURRENT_TIMESTAMP'),
|
|
},
|
|
production_date: {
|
|
type: DataTypes.DATEONLY,
|
|
allowNull: false,
|
|
defaultValue: sequelize.literal('CURRENT_DATE'),
|
|
}
|
|
}, {
|
|
sequelize,
|
|
modelName: 'DayProduction',
|
|
tableName: 'production',
|
|
schema: 'falukant_log',
|
|
timestamps: false,
|
|
underscored: true,
|
|
indexes: [
|
|
{
|
|
unique: true,
|
|
fields: ['producer_id', 'product_id', 'region_id', 'production_date']
|
|
,
|
|
freezeTableName: true}
|
|
]
|
|
});
|
|
|
|
export default DayProduction;
|