0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PHP、Laravel基礎 ~不要なマイグレーションファイルの削除~

Posted at

はじめに

こんにちは、未経験からエンジニア転職を目指しているものです。オンラインスクールで本格的に学習して6ヶ月目に入りました。PHPとLaravelを学習しながらポートフォリオを作成中です。ポートフォリオ作成が順調に進むように、PHPとLaravelの疑問点について整理しようと思います。今回は、マイグレーションとモデルについて気になった部分をまとめてみました。

概要

Laravelのマイグレーション機能を使うと、データベースのテーブル作成や更新をコードで管理できます。マイグレーションファイルにはデータベースの「設計図」が書かれており、migrateコマンドを実行することで、実際にデータベースがその設計図通りに作成されます。

しかし、不要なマイグレーションファイルが残ったままになると、意図しないテーブルが再度作成されるなどの問題が発生します。これを防ぐため、適切にマイグレーションファイルを管理することが重要です。

具体例

  1. マイグレーションファイルを作成する
    例えば、testsというテーブルを作るためのマイグレーションファイルを作成します。このファイルには、テーブルを作成するための手順が記載されています。

  2. マイグレートを実行する
    sail artisan migrate コマンドを使うと、マイグレーションファイルに基づいてデータベースにテーブルが作成されます。

  3. 不要なマイグレーションファイルが残っているとどうなる?
    一度削除したいtestsテーブルがあるとします。しかし、マイグレーションファイルが残っている場合、再度マイグレートを実行するとまたtestsテーブルが作成されてしまいます

  4. 問題点まとめ

    • データベースが意図しない状態に戻る
      作成したテーブルを削除したいのに、マイグレーションファイルが残っているため、何度もテーブルが作成される可能性があります。
    • データが無駄に増える
      不要なテーブルが作成され続けると、データベースが複雑化して管理が難しくなります。
  5. 解決方法

    • 不要なマイグレーションファイルを削除する
      例えば、testsテーブルのマイグレーションファイルが不要であれば、database/migrationsフォルダから削除しましょう。
    • sail artisan migrate:reset コマンドで全てをリセットして再実行する
      resetコマンドを使うと、全てのマイグレーションが取り消され、データベースが最初の状態に戻ります。その後、必要なものだけ再度マイグレートすることで、意図しないテーブル作成を防げます。

まとめ

  • マイグレーションファイルはデータベースの設計図であり、コードでデータベース管理を行う上でとても重要。
  • 不要なマイグレーションファイルが残っていると、意図しないテーブルが作成される恐れがあるので、適切に管理する。
  • 必要に応じて、migrate:resetmigrate:refreshなどのコマンドを活用することで、データベースの状態をリセットし、再度マイグレートを実行できる。

最後までご視聴頂き、ありがとうございます!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?