import { sequelize } from '../../utils/sequelize.js'; import { DataTypes } from 'sequelize'; const UserLevelProgress = sequelize.define('UserLevelProgress', { id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true }, user_progress_id: { type: DataTypes.INTEGER, allowNull: false }, level_id: { type: DataTypes.INTEGER, allowNull: false }, score: { type: DataTypes.INTEGER, defaultValue: 0 }, moves: { type: DataTypes.INTEGER, defaultValue: 0 }, time: { type: DataTypes.INTEGER, defaultValue: 0 }, stars: { type: DataTypes.INTEGER, defaultValue: 0 }, is_completed: { type: DataTypes.BOOLEAN, defaultValue: false }, attempts: { type: DataTypes.INTEGER, defaultValue: 1 }, best_score: { type: DataTypes.INTEGER, defaultValue: 0 }, best_moves: { type: DataTypes.INTEGER, defaultValue: 0 }, best_time: { type: DataTypes.INTEGER, defaultValue: 0 }, completed_at: { type: DataTypes.DATE, allowNull: true }, created_at: { type: DataTypes.DATE, defaultValue: DataTypes.NOW }, updated_at: { type: DataTypes.DATE, defaultValue: DataTypes.NOW } }, { tableName: 'match3_user_level_progress', schema: 'match3', timestamps: true, underscored: true, // WICHTIG: Alle Datenbankfelder im snake_case Format indexes: [ { unique: true, fields: ['user_progress_id', 'level_id'] // WICHTIG: Bei underscored: true müssen snake_case Namen verwendet werden , freezeTableName: true} ] }); export default UserLevelProgress;