The*_*i.9 5 mysql yaml doctrine symfony1
我正在研究我的Symfony应用程序的模式,我需要将两个布尔字段的默认值设置为false.但是,通过我尝试过的所有方法,当生成sql时,它会出现default关键字,但之后没有默认值.
我的最后一次尝试是:
negotiable:
type: bool
default: "false"
complete:
type: bool
default: "false"
Run Code Online (Sandbox Code Playgroud)
但我也试过default: false,default: 'false',default: 0因为假的只是一个在MySQL 0别名,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
Run Code Online (Sandbox Code Playgroud)
注意 negotiable bool DEFAULT , complete bool DEFAULT ,
我一直在玩的/config/doctrine/schema.yml文件是文件.我对symfony/doctrine有点新意.我认为这是正确的,但我想我可能是错的.我symfony cc每次尝试插入sql以确保它没有缓存模式.但它似乎没有使用我一直在改变的文件......
由于我没有足够的积分来添加评论,我会将其添加为人们通过谷歌和像我这样的人发现这一点的答案.我知道这是一个老问题.
在Symfony 2.5(至少)中,在YAML中设置默认值的正确方法如下:
negotiable:
type: boolean
options:
default: 0
complete:
type: boolean
options:
default: 0
Run Code Online (Sandbox Code Playgroud)
Boolean是TINYINT的同义词.请integer(1)改用,并将默认值设置为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
小智 5
而不是使用"bool",你应该在架构中使用"boolean".此外,默认值:false应该工作.
| 归档时间: |
|
| 查看次数: |
10580 次 |
| 最近记录: |