1

私は現在、レガシーアプリをsymfony2に移行中です。問題は、mysql enum列がたくさんあることです。ドクトリンは、enumデータ型をサポートしておらず、回避策の1つは、文字列として保存することですが、 varcharsは非常に遅いため、データを適切に並べ替える機能が実際に失われます。列挙型データ型のテーブルがたくさんあり、スキーマの変更は非常に困難です。私のオプションは何ですか?symfony2への移行をよりスムーズにするために何を提案できますか?

4

2 に答える 2

3

これを試してみてください

http://symfony.com/doc/current/reference/configuration/doctrine.html#reference-dbal-configuration

app / config/config.ymlファイルに追加します

    mapping_types:
       enum: string

例:以下

doctrine:
dbal:
    driver:   %database_driver%
    host:     %database_host%
    port:     %database_port%
    dbname:   %database_name%
    user:     %database_user%
    password: %database_password%
    charset:  UTF8
    mapping_types:
        enum: string

次に、例えばを使用することができます

@ORM\Column(type="string", columnDefinition="ENUM('A', 'B')")
于 2012-07-12T15:11:31.257 に答える
1

2つの解決策があります

  • 解決策1: Varcharsへのマッピング
  • 解決策2:タイプの定義

詳細については、次のリンクを参照してください:Mysql Enums doctrine

于 2012-05-26T03:05:05.587 に答える