Help us understand the problem. What is going on with this article?

Laravelマイグレーション

マイグレーションでできること

テーブル定義を管理する仕組みのこと。
マイグレーションファイルを作成し、それを実行することでファイル内で定義した内容をもとにデータベーステーブルを作成する。

参照記事
https://www.hypertextcandy.com/how-laravel-migration-works

マイグレーションファイルの作成

php artisan make:migration create_{テーブル名}_table

database/migrationディレクトリに年_月_日_時間_create_{テーブル名}_table.phpというファイルが作成される。
updownという2つのメソッドを持つクラスが存在する。

upメソッドの中にどういうテーブルにするかの詳細を書いていく。
*カラム名・型など

公式ページ参照
https://readouble.com/laravel/5.5/ja/migrations.html

downメソッドはロールバック(マイグレーションを元に戻す機能)の時に実行される。

マイグレーション実行

php artisan migrate

実行することによってデータベースに3つのテーブルが作成される。
①作成したファイルのテーブル
→ファイル内で定義したテーブルが作成される
②migrationsテーブル
→マイグレーションを実行する度に追加されたファイル名が保存されるテーブル
③password_resetテーブル

マイグレーションの変更

php artisan make:migration {マイグレーションファイル名} --table={テーブル名}

{マイグレーションファイル名}の部分はそのままクラス名になるためわかりやすい名前にする
*カラム追加の場合
→add_cloumn_name_users_table

現在あるマイグレーションファイルを編集するのではなく新たに変更を加える内容を記載したファイルを作成し実行する。
例えばカラム名を変更する際はrenameColumnメソッドを使用する。
おそらくそのまま使用しても使えないため変更追加用パッケージをインストールする必要がある。

composer require doctrine/dbal

これをインストールすればカラム名を変更することが可能となる。

ロールバック

php artisan migrate:rollback

downメソッドを実行する
データベースのmigrationsテーブルのバッチ単位で処理される。
ロールバックを行うことによってバージョン管理のようにマイグレーション内容を元に戻すことができる。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした