Files
yourpart3/backend/models/match3/objective.js
Torsten Schulz (local) 66818cc728 feat: Anpassung der Datenbankmodelle zur Unterstützung von snake_case und Einführung von freezeTableName
- 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.
2025-08-23 06:04:23 +02:00

55 lines
1.1 KiB
JavaScript

import { sequelize } from '../../utils/sequelize.js';
import { DataTypes } from 'sequelize';
const Objective = sequelize.define('Objective', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
level_id: {
type: DataTypes.INTEGER,
allowNull: false
},
type: {
type: DataTypes.ENUM('score', 'matches', 'moves', 'time', 'special'),
allowNull: false
},
description: {
type: DataTypes.STRING(500),
allowNull: false
},
target: {
type: DataTypes.INTEGER,
allowNull: false
},
operator: {
type: DataTypes.ENUM('>=', '<=', '=', '>', '<'),
defaultValue: '>='
},
order: {
type: DataTypes.INTEGER,
defaultValue: 1
},
is_required: {
type: DataTypes.BOOLEAN,
defaultValue: true
},
created_at: {
type: DataTypes.DATE,
defaultValue: DataTypes.NOW
},
updated_at: {
type: DataTypes.DATE,
defaultValue: DataTypes.NOW
}
}, {
tableName: 'match3_objectives',
schema: 'match3',
timestamps: true,
underscored: true // WICHTIG: Alle Datenbankfelder im snake_case Format
,
freezeTableName: true});
export default Objective;