2つの選択肢があります:
-
各テーブルを手動で調べて、どの
ALTER
かを判断します 実行するコマンドは、開発環境に加えたのと同じ変更を本番環境に加えます -
mysqldumpを使用して本番サーバーのすべてのデータをバックアップし、DROP / CREATE TABLEステートメントをスキップするように指示します(コマンドラインオプションについては--helpを参照してください)。次に、スキーマを開発サーバーからのみダンプし、本番サーバーにインポートし、バックアップをインポートして行を元に戻します。これには、列を削除していないことが必要です。
将来的には、スキーマの変更の追跡を開始する必要があります。 DoctrineやActiveRecordなどの最新のORMには、スキーマバージョンを追跡することでこれらを管理し、データベースに適用するのに役立つ「移行」と呼ばれるものがあります。