skillup

技術ブログ

Database PHP

laravelのmigrationに関して

投稿日:2019年7月14日 更新日:

DBのカラムの保守などをする場合のmigrationに関して。

ポツポツ使っていたのですが、しっかりまとめてなかったのでここでまとめて見ようかと思います。

カラム定義

./database/migrationsの下にyyyy_MM_dd_hhmmss_create_jobs_table.phpが作成されます。

ここに下記の用にカラム定義をします。

実際の実行

このコマンドで実際にテーブルが作られます。

実際にテーブルが作られており、またmigrationsと言うテーブルにmigrationの記録が作られます。

一回実行すると基本的にはもう終了しています。

もしやり直したい場合は

で、戻します。–step=1をつけないと全migration処理がrollbackされます。(この時downと言うメソッドに定義しておかないとうまく動きません。downは通常はupの逆になります。)

もっと原始的な方法としてはmigrationsと言うテーブルで戻したい処理のレコードを物理的に消すと言う方法もあります。こうすると記録が消えますので、migrationsが最初から実行されます。

既存DBからmigrationファイル

ちなみに既存DBからmigrationファイルを作ることもできます。

https://github.com/Xethron/migrations-generator

これだけで一気に既存 DBからのmigrationファイルが作られます。(レガシー系のプロジェクトに良さそうです。)

-Database, PHP
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

MySQLのロックに関して+サブクエリ内のupdate

MySQLのロックに関して。 データベースではデータの整合性を保つために読み書きを一時的に制限する仕組みがあります。(データベースだけではないですが・・・) 大きく分けると共有ロック(書き込みは当然だ …

no image

cakeでのUtilityメソッド

cakeではControllerから呼ぶメソッドはComponent,ModelはBehavior、ViewはHelperに記述するのが一般的です。 ところが、プログラムを書いているとUtility系 …

no image

CakePHP3 Unitテスト モデル編

長らくやろうやろうと思っていながら手がつかなかったCakePHP3のユニットテストについて。 以前にも何らかのエントリーで書いたのですが(下記参照)、モデル系はなかなかやらなかったので、これを機に説明 …

no image

MySQLのパフォーマンスチェックなどについて

常日頃MySQLをつかっているのですがパフォーマンスのチェックなどをあまりしていなかったため、これをチョクチョクしていこうかなあと思っております。 簡単に使えるツール(ただし5.1.4から)としては標 …

no image

Firebaseでのミニアプリデプロイ

KVS的なDBを使うかもしれず、firebaseの復習をしております。以前、firebaseのサンプルなどちょこちょこ動かしましたが、firebaseに登録をしただけでデプロイまではしておりませんでし …