Symfony + Doctrine: исправьте синтаксис YAML для значения по умолчанию логического поля - PullRequest
5 голосов
/ 21 ноября 2010

Я работаю над схемой для моего приложения Symfony, и мне нужно установить значение по умолчанию для двух логических полей в значение false.Однако, всеми способами, которые я пытался сделать, когда генерируется sql, он выходит с ключевым словом по умолчанию, но без значения по умолчанию после него.

моя последняя попытка была:

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

, но я также пытался default: false, default: 'false', default: 0, поскольку false - это просто псевдоним 0 в MySQL и 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

Замечание negotiable bool DEFAULT , complete bool DEFAULT ,

Файл, с которым я играл, это файл /config/doctrine/schema.yml.Я новичок в Symfony / доктрине.Я думаю, что это правильно, но я могу ошибаться.Я делаю symfony cc между каждой попыткой вставить sql, чтобы убедиться, что он не кэшировал схему.Но кажется, что он не использует файл, который я менял ...

Ответы [ 3 ]

8 голосов
/ 13 ноября 2014

Поскольку у меня недостаточно очков для добавления комментария, я добавлю его в качестве ответа для людей, которые находят это через Google и тому подобное.Я знаю, что это старый вопрос.

В Symfony 2.5 (как минимум) правильный способ установки значения по умолчанию в YAML следующий:

negotiable: 
    type: boolean
    options:
        default: 0
complete: 
    type: boolean
    options:
        default: 0
7 голосов
/ 21 ноября 2010

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 / о / 04-Schema-Files

5 голосов
/ 21 ноября 2010

Вместо использования «bool» вы должны использовать «boolean» в схеме.Также по умолчанию: false должно работать.

...