マイグレーション機能とは【CakePHP】データベースを簡単に作成する方法ご紹介

カテゴリ:インターン生ブログ

公開日:2020.06.07 最終更新日:2023.08.21
このエントリーをはてなブックマークに追加

こんにちは!伊神です!

この記事では、PHPフレームワーク「Cakephp」でマイグレーション機能を使用し簡単にデータベースを作成する方法をご紹介します!

また、弊社ではWebプロモーション成功事例集をまとめた限定資料を無料で配布しています。

Webマーケティングに興味がある方は、下記ページより目を通してみてください。

マイグレーション機能は自動でデータベースを作成したりサンプルデータを挿入できるのでとても便利です。

開発環境
・PHP :7.3.1
・CakePHP:4.0.8
・MySQL:5.7.25
・Apache:2.2.34

マイグレーションとは

マイグレーションはテーブル定義を管理する仕組みのことです。

CakePHPでマイグレーション機能を使用したい場合は、まずマイグレーションファイルというphpのファイルを作成し、そこにアプリケーションで利用したいテーブルの定義を記述します。

マイグレーションファイルはデータベースの設計書のようなもので、Artisan migrateコマンドを実行することによって自動でデータベースを構成することができます。

CakePHPのマイグレーション機能にはシーディングというテスト用のサンプルデータの自動生成できる機能などがありとても便利です。

CakePHP公式マイグレーション:https://book.cakephp.org/3/ja/phinx/migrations.html

またwebで集客する方法を別の記事にまとめております。

詳しく解説しているので、web集客について深く知りたい方は、ぜひこちらもご覧ください。

web集客
【2023年更新】Web集客の方法と種類を無料・有料別に紹介!
今回の記事を読むことで、Web集客をして、実際に売上を伸ばすための最適な方法をご紹介します。

1.マイグレーションファイルの生成

idとnameカラムでsamplesという名前のテーブルを作成する為のマイグレーションファイルを生成します。

controllerやmodelの生成時にも使用するbakeコマンドを使用します。

idカラムはデフォルトでテーブルの作成時にauto_incrimentのprimary_keyとして自動付与されるのでnameのstringだけ定義します。

20XXXXXX_CreateSamples.php が cakephp/config/Migrations に生成されます。

migrationファイルの配置場所

2.マイグレーション実行

マイグレーションを実行し、samplesテーブルを構築します。

bin/cake migrations migrateを実行することによってデータベースを構成することができます。

phpMyadminでテーブルが作成されているか確認できます。

samplesテーブルの中にidとnameカラムかできていることがわかります。

余談:idをuuidに変更したい場合

先ほど作成したマイグレーションファイルを以下のように設定することでidをuuidに変更することができます。

nameにはVARCHAR 型、オプションで limit を渡しているので、長さ128になります。

3.マイグレーションでカラムの追加,変更,削除

マイグレーションはデータベースの構成だけでなくカラムの追加,変更,削除を行うことができます。

カラムの制限なども指定できたりするので詳しく知りたい方はこちらを参考にしてください。

CakePHP公式マイグレーション:https://book.cakephp.org/3/ja/phinx/migrations.html

4.初期データの投入

シーディングという機能を使用することにより初期データを簡単にデータベースに投入できます。

CakePHP公式シーディング:https://book.cakephp.org/3/ja/phinx/seeding.html

SamplesSeed.php が cakephp/config/Seeds に生成されます。

samplesseeder生成

今回のsampleテーブルidとnameのみで構成しているため以下のデータを投入します。

seedname

samplesテーブルにデータが投入されたことがわかります。

seedermysql

最後に

今回はsampleテーブルを作成しidとnameのカラムでざっくりとマイグレーションの使用方法を紹介しました。

マイグレーションを行うことにより全ての変更はファイルに保存されるので開発者全員が同じデータベースで作業できたりするメリットもあります。

今回は紹介できなかったマイグレーションの追加,変更,削除については後日記事にしようと思います。






弊社inglowでは、これから広告の運用を考えられている方、あるいはこれから広告代理店に運用をお願いされる方向けに、「業界別Web広告の成功事例」をまとめた資料を無料配布しております。

下記のフォームに入力いただくだけで、無料で資料をダウンロードしていただけます。ぜひご利用下さい。

mihon

    このサイトはreCAPTCHAとGoogleによって保護されています。プライバシーポリシー利用規約が適用されます。

    一覧へ戻る