używam ORM sequelize w moim nodejs aplikacji i wydaje się, że spadnie stolik w niewłaściwej kolejności, kiedy sequelize.sync({force: true})
Sequelize stół kropla w niewłaściwej kolejności
Na przykład z:
var StationEntity = sequelize.define('Station', {
id: { type: Sequelize.INTEGER, primaryKey: true, allowNull: false},
name: { type: Sequelize.STRING, allowNull: false}
})
var StationSnapshotEntity = sequelize.define('StationSnapshot', {
id: { type: Sequelize.BIGINT, autoIncrement: true, primaryKey: true},
snapshotTimestamp: { type: Sequelize.BIGINT, allowNull: false}
})
StationEntity.hasMany(StationSnapshotEntity, {as: 'Snapshots', foreignKeyConstraint: true, allowNull: false})
I uzyskać następujące dzienniki po sequelize.sync({force: true})
:
Executing: DROP TABLE IF EXISTS `Stations`;
Executing: DROP TABLE IF EXISTS `StationSnapshots`;
Executing: CREATE TABLE IF NOT EXISTS `StationSnapshots` (`id` BIGINT auto_increment , `snapshotTimestamp` BIGINT NOT NULL, `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL, `StationId` INTEGER, PRIMARY KEY (`id`), FOREIGN KEY (`StationId`) REFERENCES `Stations` (`id`)) ENGINE=InnoDB;
Error: ER_ROW_IS_REFERENCED: Cannot delete or update a parent row: a foreign key constraint fails
wydaje się być upuszczanie tabel w niewłaściwej kolejności.
Czy wymyślić rozwiązanie tego problemu? – rOrlig
Jeszcze nie ..... :-( –