Laravel は、MVC なので、Model 部分の変更だけで、データベースを切り替えることが出来ます。
例として、次で作成したものを切り替えてみました。
Laravel で MariaDB の API を作成
MariaDB も、MongoDB も
データベース city
ユーザー scott
パスワード tiger123
として、データの移行はすんでいるとします。
- ライブラリーのインストール
composer require jenssegers/mongodb
- config/app.php の編集
config/app.php
'providers' => [
// 略
Jenssegers\Mongodb\MongodbServiceProvider::class,
],
'aliases' => [
// 略
'Moloquent' => Jenssegers\Mongodb\Eloquent\Model::class,
],
- .env の編集
.env
DB_CONNECTION=mongodb
DB_PORT=27017
- config/database.php の編集
config/database.php
'default' => env('DB_CONNECTION', 'mongodb'),
// 略
'connections' => [
'mongodb' => [
'driver' => 'mongodb',
'host' => env('DB_HOST'),
'port' => env('DB_PORT'),
'database' => env('DB_DATABASE'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
],
],
- キャッシュのクリア
php artisan cache:clear
- モデルの編集
app/Models/City.php
<?php
namespace App\Models;
class City extends \Moloquent
{
protected $collection = 'saitama';
}
- サーバーの起動
php artisan serve --host 0.0.0.0
- クライアントでアクセス
curl http://localhost:8000/api/city
curl http://localhost:8000/api/all
curl http://localhost:8000/api/where/岡山
curl http://localhost:8000/api/between/30000/50000