- 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.
58 lines
1.2 KiB
JavaScript
58 lines
1.2 KiB
JavaScript
import { Model, DataTypes } from 'sequelize';
|
|
import { sequelize } from '../../../utils/sequelize.js';
|
|
import FalukantCharacter from './character.js';
|
|
|
|
class Relationship extends Model {}
|
|
|
|
Relationship.init(
|
|
{
|
|
character1Id: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false,
|
|
references: {
|
|
model: FalukantCharacter,
|
|
key: 'id',
|
|
},
|
|
onDelete: 'CASCADE',
|
|
},
|
|
character2Id: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false,
|
|
references: {
|
|
model: FalukantCharacter,
|
|
key: 'id',
|
|
},
|
|
onDelete: 'CASCADE',
|
|
},
|
|
relationship_type_id: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false,
|
|
onDelete: 'CASCADE',
|
|
},
|
|
widowFirstName1: {
|
|
type: DataTypes.STRING,
|
|
allowNull: true,
|
|
},
|
|
widowFirstName2: {
|
|
type: DataTypes.STRING,
|
|
allowNull: true,
|
|
},
|
|
next_step_progress: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: true,
|
|
defaultValue: 0,
|
|
},
|
|
},
|
|
{
|
|
sequelize,
|
|
modelName: 'Relationship',
|
|
tableName: 'relationship',
|
|
schema: 'falukant_data',
|
|
timestamps: true,
|
|
underscored: true,
|
|
,
|
|
freezeTableName: true}
|
|
);
|
|
|
|
export default Relationship;
|