Doctrine 2の特定のエンティティに使用するストレージエンジンを、どのように指定できますか?Doctrine 2のテーブルタイプ/ストレージエンジンを指定する
フルテキストインデックスが必要なテーブルを作成していますが、MyISAMストレージエンジンだけがフルテキストインデックスをサポートしています。
Doctrine 2はフルテキストインデックス作成をサポートしていないようです。全文検索もありませんか?あれは正しいですか?
Doctrine 2の特定のエンティティに使用するストレージエンジンを、どのように指定できますか?Doctrine 2のテーブルタイプ/ストレージエンジンを指定する
フルテキストインデックスが必要なテーブルを作成していますが、MyISAMストレージエンジンだけがフルテキストインデックスをサポートしています。
Doctrine 2はフルテキストインデックス作成をサポートしていないようです。全文検索もありませんか?あれは正しいですか?
は "@Table(名前=" TABLE_NAME "オプション= { "エンジン"= "MyISAMテーブルを"})" の追加についてのコメントを参照してください、それは良い答えです。 ===========
以下
=======オリジナルこれはあなたが答えを得るのを助けることを目的としたテストされていないコードである、あなたはDoctrine2をたくさん読んでする必要があります。あなたが欲しいものを見つけ出すためのコード。私は約30分のコードを読んでいましたが、$ options配列をORMレイヤーを通してこのDBALレイヤーの関数にプッシュする方法が見つかりませんでした。
チェックアウトドクトリン/ DBAL /プラットフォーム/ MySQLPlatform.php
427 // get the type of the table
428 if (isset($options['engine'])) {
429 $optionStrings[] = 'ENGINE = ' . $options['engine'];
430 } else {
431 // default to innodb
432 $optionStrings[] = 'ENGINE = InnoDB';
433 }
what engineがそこにしたいハードコーディングしてみてください。それはほぼ確実に私が遅すぎる2年だ
$table = $schema->createTable('user');
$table->addColumn('id', 'integer');
$table->addOption('engine' , 'MyISAM');
$table->setPrimaryKey(array('id'));
これは@Table(name = "table_name"、options = {"engine" = "MyISAM"}) ' –
@PaulJacobseを使用してテーブルに設定できます。これは回答として投稿する –
あなたはdoctrine2の移行を使用している場合しかしものを破るが、それはにISNので、これを知ることは重要でありますhttp://www.doctrine-project.org/jira:「Tは、私たちがこれを達成するために苦労してきたが、これはこれは、ソースを編集せず 『可能』ではないかもしれないソリューション
/**
* ReportData
*
* @ORM\Table(name="reports_report_data",options={"engine":"MyISAM"})
* @ORM\Entity(repositoryClass="Jac\ReportGeneratorBundle\Entity\ReportDataRepository")
*/
class ReportData
{
...(例えば、外部キーdont work in MyISAM)
options = {"engine": "MyISAM"} –
これは2015年に役立ちます...遅くはない... – Dennis
ありがとう!、なぜこれが答えとしてマークされているのか分かりません。 –
ある 、何らかの理由で文書化/ブラウズ/ DDC-972 –
また、(1.1):http:// www。 doctrine-project.org/documentation/manual/1_1/zh/defining-models:indexes:special-indexes –
@Jared私は多くのことを考えました...チケットのリンクに感謝します。 –