※この記事は「2021年4月26日」に更新しました。
Laravel(ララベル)講座。
前回は、SQLite のインストール方法を紹介しました。
今回は、実際に Laravel でデータベースを使えるように設定していきたいと思います。
データベースの設定
データベースの設定をしていきます。
Laravel は、MySQL、Postgre SQL、SQLite、SQL Server に対応しています。
今回は、SQLite を使っていきます。
データベースファイルの作成
それでは、データベースファイルを作成します。
Laravel の databaseフォルダの直下へ移動し、とりあえず以下の名前で空ファイルを作成しましょう。
database.sqlite
.envファイルの設定
それでは .envファイルの設定を行います。
データベースに関わる環境変数を修正します。
以下は、デフォルトの設定です。
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret
これを以下のように変更します。
DB_CONNECTION=sqlite # DB_HOST=127.0.0.1 # DB_PORT=3306 # DB_DATABASE=homestead # DB_USERNAME=homestead # DB_PASSWORD=secret
configフォルダの設定
config/app.php を設定します。
ここは、本来最初にやっておくべきだったかもしれませんが、書いていなかったので、紹介しておきます。
'timezone' => 'UTC',
これを以下のように変更します。
'timezone' => 'Asia/Tokyo',
マイグレーションファイルを作成する
マイグレーションファイルを作成します。
コマンドプロンプトから以下のコマンドを実行します。
php artisan make:model Test --migration
これで Model が作成されて、マイグレーションファイルも作成されます。
database/migrations の中にマイグレーションファイルが作成されているので、中を見ていきましょう。
Migration を継承したクラスの部分のコードです。
class CreateTestsTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('tests', function (Blueprint $table) { $table->bigIncrements('id'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('tests'); } }
upメソッドと downメソッドがあります。
upメソッドは、マイグレーションで行いたい処理、downメソッドは、巻き戻すための処理です。
upメソッドの $table->bigIncrements(‘id’) の下に以下を追加してみます。
$table->string('title'); $table->text('content');
次に以下のコマンドを実行します。
php artisan migrate
これでテーブルが作成されます。
最後に SQLite で実際に作成されているかどうか確認してみます。
sqlite3 database\database.sqlite
続いて以下コマンドを実行します。
.schema tests
すると、下記のように表示されるはずです。
ちゃんとカラムが作成されていることがわかります。
最後は .quit でデータベースを切断しましょう。
最後に
いかがでしょうか。
なんとか試しながら操作している感じですが、徐々に慣れていきたいと思います。