skillup

技術ブログ

Database PHP

laravelのmigrationに関して

投稿日:

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

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

カラム定義

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

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

実際の実行

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

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

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

もしやり直したい場合は

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

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

-Database, PHP
-

執筆者:


comment

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

関連記事

no image

オブジェクト指向 データベース層

本日も引き続き「現場で役立つシステム設計の原則」を読み進めてます。 本日は主にデータベース層の考え方について。 Contents1 データべース層1.1 要点1.1.1 典型的なダメテーブル設計1.1 …

no image

アンチパターン 参照渡しと値渡し+キー情報の設定+同一値を複数テーブルに配置+正規化が不十分+集計表+不適切なステータス値

本日は自分がデータベースの設計をしていて気を付かないといけないなーと思った点などを。 注意点としては設計のミスは実装で取り返しにくいことが多いので極力気を付けましょう。あといろいろなテーブルのパターン …

no image

JPAでのリレーション(アノテーション使用)

JPAでリレーションを管理するとき、最初はアノテーションでやろうとしたんですが、結局やり方がわからずコンストラクタ式をかいて対処してました。 JPAでのリレーションに関して 外部キー制約があるやり方は …

no image

Laraevelのミドルウェアについて

以前からLaravel(ララベル)を使っていてわかりにくかったミドルウェアについてめも。 Laravelは一般的にはMVCフレームワークと言われていますが、コントローラーがリクエストを受け取り、何らか …

no image

ロケール情報について

本日、csvファイルを読み込む処理を行っていたんですが、コンソールからコマンドを打つと化けずに、ウェブ上で見ると化けるという現象が発生。 csv,プログラムともに文字コードがutf8で統一していること …