2017-12-10 12 views
-2

私はもっと長いLaravelプロジェクトにしばらく取り組んでおり、現在70以上の移行(MySQLを使用しています)があります。私はテスト(私には恥)を書いたことがなく、今それに追いつくのが好きです。
私は最初に外部キーを使用しました。私はいくつかの名前を変更してから、その後の移行で完全に削除しました。Laravelの移行でやり直す

これで、一時的なsqliteデータベースをテストに使用する必要があります。しかし、私がfkの名前を変更すると、MySQLの命名規則がsqliteのものと異なり、sqliteはこれらを見つけることができません。他にもいくつかのエラーがあります。

マイグレーションをすべて削除して、すべてを保持する単一の移行を作成できるかどうかは、現在の状態のデータベース構造です。最初から始めて、話すように。

これはお勧めですか? マイグレーションテーブルにはどうなりますか?

答えて

0

開発中は、通常、必要な構造を得るために移行を絶え間なく追加しています。構造が気に入っているなら、間違いなく移行を凝縮することができます。

多くの場合、誰かがローカルで開発しているときに、アプリケーションのデプロイメントを開始したい場所に移動することがあります。必要な構造を把握していないため、マイグレーションを圧縮します。これが必要なスキーマであるため、「後方に移動する」必要があります。あなたは将来の変化について心配する必要があります。

これらの移行を実行していないシステムでは、初めて実行するだけで完全なスキルが得られます。すでに移行テーブルがあり、ロールバックしたくない場合は、手動で移行テーブルを変更して、基本的には存在しないすべての移行を削除し、残りのテーブルを変更する必要があります(あなたの統合後にあなたが持っているものと一致するようにします。 (ロールバック/リフレッシュできるようにしたいと思っていたのですが、現実には、ある時点でロールバックやリフレッシュすることはありません。あなたのスキーマが分かっていて、必要なスキーマが分かっていれば、同じテーブルを何度も変更する20種類のマイグレーションを実行する必要はありませんその最終結果まで

+0

完全に新しい移行を作成し、これまでのすべての移行と同じデータベース構造を提供することを確実にしました。次に、_migrations_テーブルを手動で編集しました。ありがとう! – DoeTheFourth

関連する問題