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での日付関数

MySQLでSUMやCOUNTなんかはよく使うと思うのですが、日付の関数なんかもかなり使います。 今回は、日付の日数をとりたいときの関数を紹介。 例えばあるカラムにある日付が入力されており、現在との日 …

no image

データベース設計のアンチパターン 複数表結合,大作SQL,Blob型の乱用

データベースのアンチパターンに関して。 以前下記ブログでも書いたんですが設計のスキルに関してもう少し身に着ける必要があるとおもい、チェックします。 論理設計のグレーノウハウ サロゲートキー 論理設計の …

no image

大規模Webサービス技術入門 DBの分散

前回に引き続き、大規模サービスを運用するときに必要になるMySQLの知識についてのまとめ Contents1 テーブル・SQL設計2 レプリケーション機能3 パーティショニング テーブル・SQL設計 …

no image

switch(true)イディオム

switch文は通常、文字や数字で分岐をさせることが多いですが、実は条件式を入れることも可能です。 私の場合、正規表現を動的に変えたいケースがあり、検索したところ似たケースがありました。 【JavaS …

no image

call_user_funcについて

call_user_funcについて。 call_user_funcはメソッドを動的に呼ぶことができるメソッドの1つで、コールバック関数を使いたいときに使われます。JavaScriptでは比較的多いと …