LaravelのDB連携できるよう設定する。

使用している環境は以下です。

CentOS

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= *****

環境に合った感じで上記の項目を埋めます。

僕はlocalhostMariaDBと連携したので

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をみてみると、

f:id:pdo99:20161119014017p:plain

こんな感じにテーブルが作成さています。

そしてusersとpassword_resets以外にmigrationsというテーブルが作成されてます。

中をみるとmigrateで追加されたテーブルに対応するmigrationファイル名が入っています。

今はどのファイルで作成されたテーブルがあるか一目瞭然ですね。

 

簡単にテーブル追加ができました。

今日は以上です。