如果我使用Doctrine 1.2为Symfony 1.4构建模式,我必须添加选项:type,collate和charset,例如:
AlSupplier:
options:
type: InnoDB
collate: utf8_unicode_ci
charset: utf8
columns:
company_name:
type: string(255)
AlCountry:
options:
type: InnoDB
collate: utf8_unicode_ci
charset: utf8
columns:
country_name:
type: string(70)
AlSupplierCategory:
actAs:
NestedSet:
hasManyRoots: true
rootColumnName: root_id
Searchable:
fields: [category_keywords]
options:
type: InnoDB
collate: utf8_unicode_ci
charset: utf8
columns:
category_name:
type: string(200)
category_description:
type: text
category_keywords:
type: text
如何设置默认选项(type,collate,charset)?我不想每次写这篇文章。
答案 0 :(得分:4)
只需将它们声明在schema.yml文件的顶部,它们就会应用于每个表:
options:
type: InnoDB
collate: utf8_unicode_ci
charset: utf8
来源:http://www.symfony-project.org/doctrine/1_2/en/04-Schema-Files#chapter_04_global_schema_information
答案 1 :(得分:0)
我同意汤姆的解决方案。
Another option将是 - 如果您希望全局使用InnoDB(例如也适用于插件) - 在ProjectConfiguration.php
中定义它:
public function configureDoctrineConnection(Doctrine_Connection $connection)
{
$connection->setAttribute(Doctrine::ATTR_DEFAULT_TABLE_TYPE, 'InnoDB');
}