Doctrine忽略了数据库charset和collat​​ion

时间:2017-08-07 09:31:53

标签: mysql doctrine-orm collation

执行命令this.textBoxInForm1.Text = frmReport.textBox1.Text; 时,我得到此命令来创建表,因为您可以看到它使用doctrine:schema:update --dump-sql字符集和utf8排序规则,但数据库设置为utf8_unicode_cilatin1

latin1_swedish_ci

在数据库中:

CREATE TABLE an_example
(id INT AUTO_INCREMENT NOT NULL, 
 id_user INT NOT NULL, 
 date DATETIME NOT NULL, 
 PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;

而且,在mysql> SELECT * FROM information_schema.SCHEMATA WHERE schema_name = "mydb"; +--------------+-------------+----------------------------+------------------------+----------+ | CATALOG_NAME | SCHEMA_NAME | DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME | SQL_PATH | +--------------+-------------+----------------------------+------------------------+----------+ | def | mydb | latin1 | latin1_swedish_ci | NULL | +--------------+-------------+----------------------------+------------------------+----------+ 我确实设置了配置:

config.yml

(我删除缓存以防万一)。所以,我认为我或学说缺少一些东西,你能帮助我吗?

谢谢

1 个答案:

答案 0 :(得分:1)

当您创建表而未指定字符集/排序规则时,数据库设置仅为默认值

当您创建列而未指定charset / collat​​ion时,表设置仅为默认值

我建议你担心,不是关于数据库(SCHEMATA),而是关于表及其列。