Symfony + Doctrine:正确的YAML语法用于布尔值的默认值 [英] Symfony+Doctrine: Correct YAML syntax for default value of boolean field
问题描述
我正在处理我的Symfony应用程序的架构,我需要将两个布尔字段的默认值设置为false。然而,使用所有的方法,当sql生成时,它出现了默认关键字,但没有默认值。
I am working on the schema for my Symfony app, and I need to set the default value of two boolean fields to false. However, with all the ways I've tried to do it, when the sql gets generated, it comes out with the default keyword, but no default value after it.
我的最后一次尝试是:
negotiable:
type: bool
default: "false"
complete:
type: bool
default: "false"
但我还试过 default:false
, default:'false'
, default:0
因为false只是MySQL中的0的别名,而默认值为'0'
but I have also tried default: false
, default: 'false'
, default: 0
since false is just an alias for 0 in MySQL, and default: '0'
失败的查询:
CREATE TABLE dormcode_project (id BIGINT AUTO_INCREMENT, client_id BIGINT, title VARCHAR(255), briefdesc LONGTEXT, spec LONGTEXT, coder_id BIGINT, paytype VARCHAR(30), negotiable bool DEFAULT , complete bool DEFAULT , created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX coder_id_idx (coder_id), INDEX client_id_idx (client_id), PRIMARY KEY(id)) ENGINE = INNODB
注意事项 negotiable bool DEFAULT,complete bool DEFAULT,
我一直在玩的文件是 /config/doctrine/schema.yml
文件。我是一个新的symfony /教义。我认为这是正确的,但我想我可能是错的。在每次尝试插入sql以确保它没有缓存模式时,我执行 symfony cc
。但是它似乎并没有使用我一直在改变的文件...
The file I've been playing with is the /config/doctrine/schema.yml
file. I'm kind of new to symfony/doctrine. I think this is the right one, but I guess I could be wrong. I do symfony cc
between each attempt to insert the sql to make sure that it didn't cache the schema. But it almost seems like its not using the file I've been changing...
推荐答案
布尔是TINYINT的同义词。使用整数(1)
,并将默认设置为0/1。
Boolean is a synonym for TINYINT. Use integer(1)
instead and set your default to 0/1.
资料来源:
http:/ /dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html
http://www.symfony-project.org/doctrine/1_2/en/04-Schema-Files
这篇关于Symfony + Doctrine:正确的YAML语法用于布尔值的默认值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!