データベーススキーマのテーブルからモデルを作成しました。それは正常に動作していますが、テーブルの列の名前を変更した後にサーバーに同期します。 Navicatは変更を認識し、実行する必要のあるSQLクエリを表示します。クエリは、次のとおりです。 Navicatモデルのフィールドの名前を変更し、サーバーにドロップなしで同期
- 無効に外部キーチェック
- 再作成以前に、現在作成した列とインデックスを落とし
- ドロップ古い列
- 外部キーチェックを有効にする
私はNavicatに列を落とさないように強制します。名前を変更するだけですか?
ありがとうございます。例えば
ALTER TABLE your_tablename CHANGE column_name new_name datatype other_options_like_nullable;
:単純に列の名前を変更するステートメントを実行することにより
Navicatのサポートにこの質問をすることをお勧めします。 [dbForge Studio for MySQL](http://www.devart.com/dbforge/mysql/studio/)でこの列の名前を変更することもできます。 'Refactor'機能は、名前変更時に依存オブジェクトを変更します(外部キー、ビュー、ルーチン...)。 – Devart
お返事ありがとうございます。私はすぐにそれを試してみます。 :) – kukko
@Devartそれは私のニーズを完全に満たしています。ご報告いただきありがとうございます! Navicatはそれを行うことはできませんが、dbForgeはドロップする代わりにフィールドとテーブルの名前を変更して再作成することができます。これを回答として追加すると、解決策として受け入れることになります。 :) – kukko