LaravelのDB連携できるよう設定する。
使用している環境は以下です。
Laravel5.3
MariaDB5.5(使うDB(テーブルなどはない)は用意済み)
やってみましょう。
.envにDB環境を設定する
ComposerでインストールしたLaravelプロジェクト直下に、
.envというファイルがあるのでエディタで修正。
項目はこのあたり。
7 DB_CONNECTION=mysql
8 DB_HOST= *****
9 DB_PORT= *****
10 DB_DATABASE= *****
11 DB_USERNAME= *****
12 DB_PASSWORD= *****
環境に合った感じで上記の項目を埋めます。
DB_DATABASE、DB_USERNAME、DB_PASSWORD
を編集しました。
database.phpを編集する
プロジェクト名/config/database.phpをエディタで修正。
今回はmysqlが対象となりますが、pgsqlやsqliteなどの設定もあると思うので、
環境に合わせてdefaultで対象のDBを設定してください。
基本的にenv()で指定されているのは先程の.envの設定が反映されるので、
あまり書き換えていないです。strictをfalseにした程度だったハズ。
連携に関する設定はこれでOKです。
migrationファイルを準備する
DBは用意してあるものの中身は空っぽなのでテーブルを作成します。
せっかくなのでmigrationを使ってテーブル作成します。
プロジェクト名/database/migrations に以下のファイルがあります。
-rw-rw-r-- 1 ** ** 738 Oct 27 23:38 2014_10_12_000000_create_users_table.php
-rw-rw-r-- 1 ** ** 684 Oct 27 23:38 2014_10_12_100000_create_password_resets_table.php
デフォルトでusersとpassword_resetsというテーブルに関する、
migrationファイルが置いてあります。
usersのほうを試しにエディタで開いてみると、
upというfunctionにテーブルのカラムっぽいものがありますが、この後作成されるテーブルの定義となります。
今回はデフォルトで用意されたテーブル定義で作成しますが、
*作りたいテーブルがある場合は、
php artisan make:migration create_*******_table
でfunctionの枠だけのmigrationファイルを作成することができます。
作りたいテーブル定義を設定してみると良いと思います。
テーブルを作成する
migrationファイルがあればもう簡単。
php artisan migrate
を実行するだけです。
Migrated: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_100000_create_password_resets_table
てな感じ出ていればOKかと思います。
実際にDBをみてみると、
こんな感じにテーブルが作成さています。
そしてusersとpassword_resets以外にmigrationsというテーブルが作成されてます。
中をみるとmigrateで追加されたテーブルに対応するmigrationファイル名が入っています。
今はどのファイルで作成されたテーブルがあるか一目瞭然ですね。
簡単にテーブル追加ができました。
今日は以上です。