0

私はここで非常に悪い状況にあり、Laravel 5プロジェクトに取り組んでいます。以前に別の開発者によって開発されました。その開発者は最初に、移行を使用していくつかのテーブルを作成しmigration generators、いくつかを追加しました。columnsその後、彼はcolumnsいくつかの sql を使用してすぐにテーブルを追加しましたGUIsql dumpインポートしてローカルマシンにセットアップしたものが与えられました.テーブルを使用して作成すると、移行tablephp artisan make:migration create_myTableName_table --create="myTableName"正常に作成されますが、実行すると、移行フォルダーを確認し、現在のバージョンと一致しました.他のテーブルと同じように、列が異なることがわかります。php artisan migrateSQLSTATE[42S01]: Base table or view already exists: 1050 Table 'someTable' already existssomeTable

この状況でこれを処理するための最良のケースは何ですかLaravel migrations generator。将来、他の開発者がこのプロジェクトに取り組みたい場合は、移行コマンドを実行してデータベースを移行するか、テーブルを作成するか、列を作成するだけでよいように、最新の状態を維持したいと考えています。 ... すべての移行を書き直す必要がありますか? 助けてください。ありがとう

4

2 に答える 2

1

速くて汚い?

現在の移行ファイルを削除します。テーブルをクリアし、 migrationsDB 全体をエクスポートします。SQL ダンプをレポに置き、実行する前に他の開発者にインポートするように指示しますphp artisan migrate。ダンプがインポートされ、migrationsテーブルが切り捨てられると、従来の移行と競合することなく、新しい移行を作成できます。

野心的ですか?

migrations-generatorなどのパッケージを使用して、現在の DB 構造に基づいて移行を生成します。次に、移行します。

于 2016-02-08T22:18:00.767 に答える
1

あなたの状況を考慮して、.sqlエクスポートをリポジトリに配置し、古い壊れた移行をクリアして、最初にデータベース ダンプをインポートする新しい移行を作成します。次に、通常どおり移行を作成します。

于 2016-02-08T22:24:58.303 に答える