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

Facadeパターンについて(Laravelを題材に)

LaravelのFacadeについて自作する機会があったので、メモ。 Contents1 サンプル2 使い所3 メリット4 デメリット5 参考リンク サンプル https://github.com/u …

no image

PHPspreadsheet

自分がプログラミングをやりはじめたきっかけはExcelVBAでした。 あれから10年以上の時が流れたのですが、簡易的なデータとしてはやはりExcelを使うことが多いですね。 PythonやJavaSc …

no image

データベースのテスト環境作成

現在作っているシステムのリリースが近づいており、本番に近い環境を作成しお客様に見てもらうことに。 こういった手順はマニュアル化しておいたほうが楽だろうと思い、自分的にメモ 1 現状運用されているデータ …

no image

JPAでのデータベースとの同期

このブログでも何回か書いてきたJPAですが、新規レコードをインサートさせた際IDを取得し、そのIDをもとに何らかのキーを作る、そういう処理があったので紹介させていただきます。 何回か書いてますが、JP …

no image

MySQLのマイグレーション(workbench使用)

以前cakePHPにてマイグレーションの手法を紹介したのですが、当然PHP以外をつかっていたり、PHPでもcakeを使っていなければこの方法は通用しません。 何か、汎用的にデータベースの構造の差分がチ …

アーカイブ