node中使用sequelize-cli框架使用db:seed:all出现error:validation error
出现问题的原因:由于我的粗心,种子文件中的字段和创建的相关迁移文件中的数据没有相对应(比如相应的字段名写错,以及需要默认值的没有填写),然后就开始执行sequelize db:seed:all命令。
根据相应的提示发现第一个命名错误时,没有仔细检查文件中是否有其他问题,就又执行了一次命令,导致数据库里面只有第一个的执行结果生成的数据库表格。其他的由于报错暂停了执行,当全部修改完毕之后就报了error:validation error。
解决方法:我把数据库中相应新建的表中数据删除之后,重新执行sequelize db:seed:all就可以顺利生成了。
(我数据库不是很懂,才刚开始学,我猜测是数据库会对比更新后的种子文件和数据库表本身存在的数据吧(我的这张表对比的是username这个字段,只要username有重复就会报error:validation error,把username改成不同的就没有没问题啦),真正的原因我也不得而知),欢迎大家一起探讨!!!