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.
This commit is contained in:
Torsten Schulz (local)
2025-08-23 06:04:23 +02:00
parent e168adeb51
commit 66818cc728
114 changed files with 548 additions and 380 deletions

View File

@@ -7,43 +7,43 @@ const UserProgress = sequelize.define('UserProgress', {
primaryKey: true,
autoIncrement: true
},
userId: {
user_id: {
type: DataTypes.STRING(255),
allowNull: false
},
campaignId: {
campaign_id: {
type: DataTypes.INTEGER,
allowNull: false
},
totalScore: {
total_score: {
type: DataTypes.INTEGER,
defaultValue: 0
},
totalStars: {
total_stars: {
type: DataTypes.INTEGER,
defaultValue: 0
},
levelsCompleted: {
levels_completed: {
type: DataTypes.INTEGER,
defaultValue: 0
},
currentLevel: {
current_level: {
type: DataTypes.INTEGER,
defaultValue: 1
},
isCompleted: {
is_completed: {
type: DataTypes.BOOLEAN,
defaultValue: false
},
lastPlayed: {
last_played: {
type: DataTypes.DATE,
defaultValue: DataTypes.NOW
},
createdAt: {
created_at: {
type: DataTypes.DATE,
defaultValue: DataTypes.NOW
},
updatedAt: {
updated_at: {
type: DataTypes.DATE,
defaultValue: DataTypes.NOW
}
@@ -56,7 +56,8 @@ const UserProgress = sequelize.define('UserProgress', {
{
unique: true,
fields: ['user_id', 'campaign_id'] // WICHTIG: Bei underscored: true müssen snake_case Namen verwendet werden
}
,
freezeTableName: true}
]
});