Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在sequelize中设置默认布尔值_Node.js_Sequelize.js - Fatal编程技术网

Node.js 如何在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

如何在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 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

环境:

  • mysql版本:5.7.9
  • 续集版本:5.8.11
  • 节点版本:v8.9.1
  • 操作系统:win10

  • 大多数数据库将布尔值定义为位,sequelize在从现有数据库表生成sequelize模型时自动将布尔值默认值定义为“0”和“1”


    因此,不要使用“1”或“0”来表示正确或错误。

    从这里转换过来谢谢您的回答,我的代码是从sequelize官方文档复制的,所以现在我很困惑为什么他们的代码可以工作,但我不能用这种方式更改架构