2019/11/12Laravelでsqliteデータベースを使ってみようLaravel6.x、laravel5.8とlaravel5.7で動作確認を行っています。Laravelを使ってアプリケーションを構築する際にデータベースが必要になりますが、今回はシンプルですぐに使えるsqliteデータベースを使ってテーブルの作成と確認を行います。一部sqlite上で実行することができるコマンドを紹介しています。MAC環境で動作確認を行っており、デフォルトでsqliteがインストールされているためすぐに使用することができます。select文による表示sqliteデータベースの作成touchコマンドを使用して、Laravelインストールディレクトリの下にあるdatabaseディレクトリの中にdatabase.sqliteを作成します。database/database.sqliteファイル名は、configディレクトリの中のデータベース関連の設定ファイルdatabase.phpファイルのsqliteの設定箇所にdatabase.sqliteが指定されているため、作成するファイル名にdatabase.sqliteを使用しています。初期設定ではデータベースはmysqlへの接続が前提になっているので、Laravelインストールディレクトリにある環境変数設定ファイル”.env”を編集します。【編集前】DB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=homesteadDB_USERNAME=homesteadDB_PASSWORD=secret【編集後】DB_CONNECTIONの値をmysqlからsqliteに更新して、DB_HOSTからDB_PASSWORDの行は削除します。exist.のエラーが発生します。migrateでテーブルの作成sqliteデータベースの作成、sqliteに関するLaravelの設定が完了したので、テーブルの作成を行います。migrateコマンドを使用するとusersテーブルとpassword_resetsテーブルがデータベースに作成されます。seconds)Laravel6.xからfailed_jobsテーブルの作成も一緒に行われます。successfully(成功)が表示されればsqliteに3つのテーブルが作成されています。artisanを実行すると下記のエラーが発生します。ON;)sqliteのコマンドによるデータベースの確認せっかくなので、sqliteのコマンドを使用して、本当にテーブルが作成できているのかを確認してみましょう。作成したdatabase.sqliteのあるdatabaseディレクトリに移動して、sqlite3コマンドでファイルを指定します。接続するとsqliteのバージョンも確認することができます。.tablesコマンドを実行するとデータベース内に作成されたテーブルを確認することができます。3つのテーブルが作成されています。migrationsテーブルはmigrationファイルの実行履歴を管理するテーブルです。failed_jobsはテーブルが作成されているだけで中身が空です。migrationsにはusersとpassword_resetsの履歴が残されているはずなので、確認してみましょう。on”でヘッダーを表示させます。password_resetsのmigrationの情報を確認することができます。migrations;id|migration|batch1|2014_10_12_000000_create_users_table|12|2014_10_12_100000_create_password_resets_table|13|2019_08_19_000000_create_failed_jobs_table|1sqliteを終了する際は、.quitで終了することができます。テーブルへデータを追加してみようsqliteでのデータベース、テーブルの作成方法を確認しました。LaravelにはSeederという機能で一括でダミーデータを登録することができますが、今回はtinkerを使って手動で行ってみましょう。あわせて読みたいLaravelのSeeding機能を利用してダミーデータを一括挿入tinkerはLaravelアプリケーションにコマンドラインでアクセスすることできるツールで、tinker上でテーブルへのデータ追加を行うことができます。tinkerで起動します。Hileman下記の手順でユーザを作成することができます。passwordの部分だけbcrypt関数を使用しているのはpasswordの文字列を暗号化するためです。quitユーザの作成が完了したら、sqlite3コマンドを使ってデータベースに接続してをusersテーブルに登録が完了しているのか確認してみましょう。07:29:35tinkerを使用することでユーザが作成できることが確認できました。tinkerでもテーブルに登録されているユーザ一覧を取得することができます。}sqlite3を使ってsqliteデータベースに接続してテーブルの中身を確認することができました。tinkerでは上記のようにApp¥Userモデルを経由してデータベースへ接続を行うため、MySQLでもsqliteでも他のデータベースで作成していても同じ方法でデータベースへの接続を行うことができます。Laravelも同様に直接データベースにアクセスすることがない限りどのデータベースソフトで作成されているか意識することはありません。serveを一度停止し、再度実行してみてください。sqliteのコマンド作成されたテーブルの確認(スキーマ情報).shemaコマンドを実行するとテーブルが作成された際に実行されたsqlを確認することができます。null);select文による表示select文を実行するとヘッダーも表示されません。onをつけてselect文を実行するとヘッダーが表示されます。columnを実行します。最初のselect文よりもすっきり表示させることができます。johndoe@example.comsqliteコマンドの一部を説明しましたが、LaravelではApp¥Model経由でデータベースの操作を行うためsqliteコマンドの使用方法ではなくLaravelからモデルを経由したデーベースの操作方法を理解していく必要があります。select文による。