我最近在问题表中添加了外键(authorId)关系,每个问题应具有与其关联的userId。
每次启动服务器时,它都会在本地开发中删除外键(authorId)列
synchronize: true
https://github.com/typeorm/typeorm/issues/2137
我认为这是一个版本兼容性问题,我尝试更改npm模块mysql和mysql2,并将MySQL 8降级为MySQL 5.7。什么都没有。
即使使用过postgresql
也不起作用
有解决方案吗?还是我应该使用sequelize
或其他?
Question.entity.ts文件
User.entity.ts文件
更新:仅当我使用npm run start:dev
运行时才会发生此问题,而当使用npm start
运行时很好。
答案 0 :(得分:0)
遇到相同的问题,找不到解决方案,并使用nodemon
答案 1 :(得分:0)
尝试在 synchronize: false
中将同步模式更改为 ormconfig.json
。每次服务器重新启动时,外键也会重新启动。您可以学习如何改用迁移和种子,尤其是在生产方面
一旦投入生产,您需要将模型更改同步到数据库中。通常,一旦您在数据库中获取数据,在生产中使用同步模式同步:true 是不安全的。
Typeorm - 迁移:https://typeorm.io/#/migrations