我beforeCreate在Sequelize模型中有一个钩子(在User表中的密码上运行bcrypt ),并且想在种子文件中创建一个用户.像bulkCreate这样的函数只是插入到数据库中,因此不要调用任何钩子(包括createdAt/ updatedAt).如何使用与播种器所需格式匹配的方式调用钩子?
似乎很多人只是在使用sequelize-fixtures?这是要走的路吗?或者我可以忽略种子格式,并使用标准的.create/.build和.save格式?
此外,与播种有关的文件在哪里?谷歌的搜索信息非常清晰.
一些 SQL 数据库的 Sequelize 用户sync({ force: true })在早期经常使用,然后切换到迁移。我很困惑,因为迁移和模型似乎具有相似的语法,但也有一些似乎没有被强烈强调的差异。
一些观察(可能是错误的):
options.indexes模型中的对象在迁移中不起作用(但在模型中起作用)unique: 'somename'不适用于迁移字段属性(但适用于模型);但unique: true两者都适用references需要在迁移中设置a (但在模型中,hasMany/belongsTo 会自动生成外键字段和外键引用)id,createdAt并且updatedAt必须在迁移中手动创建,而不是模型最后两个是有道理的,因为它描述了迁移责任(设置 db 架构)与模型 - 但是迁移支持什么/它如何工作对于类似的项目似乎不同,并且该sync选项加剧了我的困惑。
一些问题:
sync选择)做的迁移工作?sync离散迁移切换到迁移时,其他人是否只是将模型文件复制到迁移中?您是否删除了仅适用于模型的部分无关信息?只适用于迁移?