2017-08-07 3 views
0

Wenn Befehl ausführen doctrine:schema:update --dump-sql ich diesen Befehl erhalten eine Tabelle zu erstellen, wie Sie sehen können es verwendet utf8 charset und utf8_unicode_ci Sortierung, aber Datenbank wird auf latin1 und latin1_swedish_ci:Lehre ignoriert Datenbank charset und Sortierungs

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; 

in Datenbank:

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

Und auch, hat set-Konfiguration in config.yml I:

doctrine: 
    dbal: 
     driver: pdo_mysql 
     host: '%database_host%' 
     port: '%database_port%' 
     dbname: '%database_name%' 
     user: '%database_user%' 
     password: '%database_password%' 
     charset: latin1 
     default_table_options: 
      collate: "latin1_swedish_ci" 

(Ich löschte Cache nur für den Fall). Also, ich glaube, dass mir oder der Doktrin etwas fehlt, kannst du mir helfen?

Danke

Antwort

1

Die Datenbankeinstellungen sind nur defaults für, wenn Sie ohne Angabe charset/Sortierungs eine Tabelle erstellen.

Die Tabelleneinstellungen sind nur Standardwerte für wenn Sie eine Spalte ohne Angabe von Zeichensatz/Sortierung erstellen.

Ich empfehle Ihnen, sich Sorgen, nicht über die Datenbank (SCHEMATA), sondern über die Tabelle und ihre Spalten.

Verwandte Themen