データベースアクセスの基本 (1/5)
作成:2016-02-07 09:56
更新:2016-02-07 09:56
更新:2016-02-07 09:56
■データベースの設定について
Webアプリケーションの開発において、一番面倒なのが「データベース」関係の処理でしょう。リレーショナルデータベースは、SQLというPHPとはまるで違うデータアクセス言語でデータを処理します。またデータベースの種類が変わると、言語仕様も微妙に違っていたりします。PHP内からデータベースの設定に合わせてSQLのクエリー文(命令文)を実行することはできますが、例えば仕様変更でデータベースやテーブルを変更したりすると大変なことになってしまいますね。
Laravelでは、データベースに関する情報は設定ファイルで一元管理されており、データベースにアクセスするためのクラスを利用してアクセスを行うため、あちこちにデータベースの個々の設定などが散らばることはありません。データベースの変更も、設定ファイルを少し変更するだけで行えます。実際にデータアクセスしている処理を修正する必要はほとんどありません。
では、データベースの設定はどこにあるのでしょうか。これは、「config」フォルダの「database.php」というファイルに記述されています。ここにある、下のリスト欄の記述部分がデータベースに関する設定です。
ここでは、'connections'というものに配列の形で設定情報が用意されています。この配列には、'sqlite', mysql', 'pgsql', 'sqlsrv'という値が用意されており、これらはそれぞれSQLite、MySQL、PostgreSQL、Microsoft SQL Serverの設定になります。
database.phpを見ると、その中に以下のような文が見つかるはずです。
この○○のところに、使用するデータベースの設定名を入力します。今回は、わざわざデータベース・サーバーを建てるのは面倒なので、PHPに用意されているSQLiteを利用することにしましょう。上記の文を見つけて、以下のように修正して下さい。
これで、LaravelからSQLiteが利用できるようになります。データベースの設定で行うべきは、この1文の修正だけです。他には何もありません。
Laravelでは、データベースに関する情報は設定ファイルで一元管理されており、データベースにアクセスするためのクラスを利用してアクセスを行うため、あちこちにデータベースの個々の設定などが散らばることはありません。データベースの変更も、設定ファイルを少し変更するだけで行えます。実際にデータアクセスしている処理を修正する必要はほとんどありません。
では、データベースの設定はどこにあるのでしょうか。これは、「config」フォルダの「database.php」というファイルに記述されています。ここにある、下のリスト欄の記述部分がデータベースに関する設定です。
ここでは、'connections'というものに配列の形で設定情報が用意されています。この配列には、'sqlite', mysql', 'pgsql', 'sqlsrv'という値が用意されており、これらはそれぞれSQLite、MySQL、PostgreSQL、Microsoft SQL Serverの設定になります。
database.phpを見ると、その中に以下のような文が見つかるはずです。
'default' => env('DB_CONNECTION', ○○ ),
この○○のところに、使用するデータベースの設定名を入力します。今回は、わざわざデータベース・サーバーを建てるのは面倒なので、PHPに用意されているSQLiteを利用することにしましょう。上記の文を見つけて、以下のように修正して下さい。
'default' => env('DB_CONNECTION', 'sqlite'),
これで、LaravelからSQLiteが利用できるようになります。データベースの設定で行うべきは、この1文の修正だけです。他には何もありません。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
'connections' => [ 'sqlite' => [ 'driver' => 'sqlite', 'database' => database_path('database.sqlite'), 'prefix' => '', ], 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, ], 'pgsql' => [ 'driver' => 'pgsql', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'prefix' => '', 'schema' => 'public', ], 'sqlsrv' => [ 'driver' => 'sqlsrv', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'prefix' => '', ], ],
※関連コンテンツ