Node.js 如何在sequelize中设置默认布尔值
如何在sequelize中设置默认布尔值Node.js 如何在sequelize中设置默认布尔值,node.js,sequelize.js,Node.js,Sequelize.js,如何在sequelize中设置默认布尔值 var Foo=sequelize.define('Foo'{ 名称:Sequelize.STRING, 标志:{type:Sequelize.BOOLEAN,allowNull:false,defaultValue:true} }) Foo.sync()。然后(()=>{ create({name:“name”}) }) nodejs输出: Unhandled rejection SequelizeDatabaseError: Incorrect i
var Foo=sequelize.define('Foo'{
名称:Sequelize.STRING,
标志:{type:Sequelize.BOOLEAN,allowNull:false,defaultValue:true}
})
Foo.sync()。然后(()=>{
create({name:“name”})
})
nodejs输出:
Unhandled rejection SequelizeDatabaseError: Incorrect integer value: 'true' for column 'flag' at row 1
mysql日志:
INSERT INTO `foos` (`id`,`name`,`flag`,`createdAt`,`updatedAt`) VALUES (DEFAULT,'name','true','2019-06-27 22:41:25','2019-06-27 22:41:25')
sequelize自动将布尔值true
转换为字符串“true
”
环境:
大多数数据库将布尔值定义为位,sequelize在从现有数据库表生成sequelize模型时自动将布尔值默认值定义为“0”和“1”
因此,不要使用“1”或“0”来表示正确或错误。从这里转换过来谢谢您的回答,我的代码是从sequelize官方文档复制的,所以现在我很困惑为什么他们的代码可以工作,但我不能用这种方式更改架构