ネビ活 | ネットビジネス生活

ネットxお金のスキルを作り、未来永劫豊かに暮らす事を目指すサイト

laravelのマイグレーションファイル、削除していい場合とまずい場合。

投稿日:

Laravelのマイグレーションで間違えたファイルとかってどうやって削除するの?そのまま削除しちゃって大丈夫なの?

 

Laravelのマイグレーションファイル自体は、間違って作ってしまったファイルなどは、そのまま削除してしまって大丈夫です。PC上であれば、そのままゴミ箱にポイで大丈夫って事です。

ただ、正しい内容の過去のマイグレーション済みファイルは削除すべきではありません。

 

どんなパターンなら削除OKかと削除方法を解説します。

 

Laravelって稼げるの?独学?スクール?高給を稼ぐためにどうするべきか教えます。

間違ったマイグレーションファイルなどは手動削除でOK

php artisan make:migration でマイグレーションファイルを作ったけど、まだphp artisan migrateしてないファイルの場合、

もしそのファイルがやっぱり不要だったり、間違えた内容だから削除したい場合は、そのまま普通にファイルを削除してしまって問題ありません。PCならゴミ箱にポイでOKです。

 

php artisan make:migration でマイグレーションファイルを作って、すでにphp artisan migrate済みのファイルの場合、

マイグレーションファイルはあくまで、php artisan migrate を一回すると、その時だけ作動して、データベースにテーブルとカラムを作成します。次のphp artisan migrate以降では作動しないようになってます。

なので、間違って作ってしまったマイグレーションファイルなどは、削除してしまっても問題ないんですが、

ロールバック(以前の状態に戻す)を使う時に、そのマイグレーションファイル時点には戻せなくなります。

ただ、その間違った内容にロールバックで戻す必要はないでしょうから、そのまま削除してしまえば問題ないです。

ただ、データベースにはmigrate済みのテーブルやカラムが残ってますから、それはphpMyAdminにログインして、手動で削除する必要があります。

 

ロールバックって何?

ロールバックは、前回のマイグレーション時点の状態にデータベースのテーブルとカラムを戻す事。

例えば、countカラムを今回のマイグレーションで追加したけど、やっぱこのカラム使わないから、一つ前のマイグレーションした時の状態に戻したいって場合は、ロールバックを使う事で元に戻せるようになってるんだ。(ロールバックする事で、countカラムがデータベースから消えるって事)。

ただ、ロールバックは手動でマイグレーションファイルを削除したり、記述を後から変更してる場合、正しく動かず、前回のマイグレーション時点に戻すはずが、前前前回の状態に戻っちゃった(必要なカラムがデータごと消えた)なんて事もありうるから、よく分からない状態で絶対に使わない方がいいよ。

一人で作業してる場合は、マイグレーションファイルを手動で削除、そしてphpMyAdminからカラムを手動で削除でも、同じ事はできるからね。

Neby

LaravelのMigrationでカラムを追加、編集、削除のやり方。初心者でもよく分かるように解説!

 

正しい内容の過去のマイグレーションファイルは削除すべきではない

正しい内容が書かれた、過去のマイグレーション済みファイル達は、削除せず取っておくべき(GITなどでバックアップしておくべき)です。

というのも、例えばデータベースを間違えて削除してしまったとか、新しいデータベースに同じテーブルやカラムをコピーしたい場合、過去のマイグレーションファイルでphp artisan migrate すれば、データベース上のテーブルやカラムを現在の状態まで一発で戻せるからです。

 

例えば、PC上でサイトを作ってるとする。それをサーバーにデプロイ(アップロード)する際、この過去のマイグレーションファイル達がサーバーのMySQLデータベースに全く同じテーブルやカラムを作ってくれるわけ。

だから削除しちゃったら、サーバー側のデータベースのテーブルとカラムを全部手動で作り直すはめになるから、削除しちゃダメだよ。

Neby

LaravelのMigrationとは?初心者でも図解で面白いほどよく分かる!

 

最初からデフォルトで入ってるマイグレーションファイルって削除しちゃっていいの?

Laravelインストール時に最初から入ってる日付がすごく昔の謎のマイグレーションファイルが3つくらいあるけど、これって削除しちゃっていいの?

2014_10_12_000000_create_users_table.php

2014_10_12_100000_create_password_resets_table.php

2019_08_19_000000_create_failed_jobs_table.php

こういった名前のファイルがあなたのLaravelにもあるはずです。

 

これは、削除しちゃダメです。

 

なぜかというと、これは、ログイン機能をLaravelに実装する時に必要なマイグレーションファイルだからです。

  • ログインユーザー情報を保存するテーブル
  • ユーザーがパスワードリセットしたい時に使うテーブル
  • エラーを保存するテーブル

がそれぞれこのマイグレーションファイル達によって生成されます。通常Laravelでサイトを作っていく際に必ず必要になる機能ですから、それらは削除しないでください。

実際にphp artisan migrateする際に一緒にマイグレーション(テーブル作成)されます。

 

自分のサイトにログイン機能を完全手動で実装するなど、Laravelのデフォルトログイン機能を使わない場合のみ、削除してしまっても大丈夫です。

 

えー、それ知らなくて、削除しちゃったんだけど。
だったら、また新しいLaravelプロジェクトを作成(インストール)して、そこからコピーしてくれば問題ないよ。
Neby

Laravelのバージョン指定インストールのやり方。超初心者でも必ずできるレベルで解説

 

ところで、あなたがLaravelを今学んでる理由ってなんですか?

稼げるって聞いたから?

じゃあ、どれくらい上達すれば稼げるのか?

本当にそんな高給を稼げるのかの現実を知ってますか?

詳しくは下の記事に本音の裏事情を書いてるので参考にしてくださいね。

Laravelって稼げるの?独学?スクール?高給を稼ぐためにどうするべきか教えます。

  • この記事を書いた人

Neby

本を毎日多読しつつ、資産運用、プログラミング、心理学、ネットビジネススキルを猛向上中。貧富の差が広がる5年後、10年後に安心生活を送るためのお金のリテラシー、スキル、資産を一緒に作っていきましょう。

-PHP Laravel入門

Copyright© ネビ活 | ネットビジネス生活 , 2020 All Rights Reserved.