4

Database.Persist はインデックスに依存しないようです。これは問題ありません。独自のインデックスを作成できますが、一般的な SQL 移行では、フィールドの追加/削除時にテーブルが作成および削除されるようです。これには、インデックスを削除する効果もあります。

データベースの移行後も存続することを確認するための推奨される方法はありますか?

4

1 に答える 1

7

SQLite3 バックエンドのみがテーブルを削除する必要があります。PostgreSQL と MySQL は両方とも、それを回避するのに十分強力な ALTER TABLE コマンドを提供します。したがって、インデックスは SQLite3 でのみ失われます。本番環境で SQLite3 を使用している場合 (あまりお勧めしません)、次の 2 つの選択肢があります。

  1. 自動移行を無効にして、スキーマを自分で処理します。
  2. 移行の実行後にいくつかのコードを追加して、欠落しているインデックスを置き換えます。
于 2012-08-08T15:21:10.247 に答える