Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Symfony+Doctrine: Correct YAML syntax for default value of boolean field

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.

my last attempt was:

negotiable: 
    type: bool
    default: "false"
complete: 
    type: bool
    default: "false"

but I have also tried default: false, default: 'false', default: 0 since false is just an alias for 0 in MySQL, and default: '0'

Failing Query:

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

Notice negotiable bool DEFAULT , complete bool DEFAULT ,

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...

like image 204
The.Anti.9 Avatar asked Nov 21 '10 07:11

The.Anti.9


2 Answers

Since I haven't enough points to add a comment, I'll add it as an answer for people finding this through Google and the sorts like myself. I know it's an old question.

In Symfony 2.5 (at least), the correct way of setting a default value in YAML is as follows:

negotiable: 
    type: boolean
    options:
        default: 0
complete: 
    type: boolean
    options:
        default: 0
like image 182
pusle Avatar answered Sep 28 '22 12:09

pusle


Boolean is a synonym for TINYINT. Use integer(1) instead and set your default to 0/1.

Sources:

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

like image 40
Tom Avatar answered Sep 28 '22 13:09

Tom