【Laravel】ポートフォワーディングしてローカル環境からリモート環境のデータベースへアクセスする方法
こんにちは。
ニシザワです。
本日はローカル環境(vagrant等)のLaravelからリモート(クラウドなど)環境のデータベースにアクセスしてデータベースのみ共有して共同開発する方法をご説明します。
例えば、データベースをリモート環境に置いておくことで、各開発者が同じデータを扱えるのでデータの齟齬ができない案件や
そもそも、DBの容量が大きすぎてローカルだとリストアするのも大変なんてときに便利です。
では、説明していきます。
まずはLaravelの.envの設定です。
あとは、vagrant等でポートフォワーディングさせて上げれば大丈夫です。
今回はsshでのポートフォワーディングです。
vagrant等の中で
こちらは、ポート15432に来たものをリモート環境の5432に設定しています。
postgresqlの場合外部からのアクセス許可が必要ですので
pg_hba.confを
mysqlの場合はmysqlにログインし
こちらで。ローカルからリモートへアクセスしてDBの操作が行えますので是非試してみてください。
ニシザワです。
本日はローカル環境(vagrant等)のLaravelからリモート(クラウドなど)環境のデータベースにアクセスしてデータベースのみ共有して共同開発する方法をご説明します。
例えば、データベースをリモート環境に置いておくことで、各開発者が同じデータを扱えるのでデータの齟齬ができない案件や
そもそも、DBの容量が大きすぎてローカルだとリストアするのも大変なんてときに便利です。
では、説明していきます。
まずはLaravelの.envの設定です。
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=15432
DB_DATABASE=hoge_name
DB_USERNAME=hoge_user
DB_PASSWORD=screat
ポイントは、ポートを適当なものに変更しておくことです。あとは、vagrant等でポートフォワーディングさせて上げれば大丈夫です。
今回はsshでのポートフォワーディングです。
vagrant等の中で
ssh -N -L 15432:127.0.0.1:5432 hoge@fuga.co.jp
公開鍵認証をする場合は-iオプションを付ければ大丈夫です。こちらは、ポート15432に来たものをリモート環境の5432に設定しています。
postgresqlの場合外部からのアクセス許可が必要ですので
pg_hba.confを
host all all 127.0.0.1/32 md5
としておきましょう。mysqlの場合はmysqlにログインし
grant all on hoge_name.* to hoge_user@'%';
と権限を付与します。こちらで。ローカルからリモートへアクセスしてDBの操作が行えますので是非試してみてください。