LaravelプロジェクトにAivenデータベースマジックを追加する

<font color="Grey">*[Add Aiven database magic to your Laravel project](https://aiven.io/blog/add-aiven-database-magic-to-your-laravel-project)の翻訳です。*</font>

Laravelをお使いですか？Aivenデータベース接続を簡単に再設定する新しい方法についてお読みください：任意のAivenデータベースに接続し、未使用のものをパワーオフします。

# LaravelプロジェクトにAivenデータベースマジックを追加する

デベロッパーセンターを検索

Aivenのミッションは、開発者の生活をより良いものにすることです。今日は、プロジェクトに役立つ機能を追加することで、Laravel開発者の生活をより良いものにする新しいツールをご紹介したいと思います。


Laravelは現在最も人気のあるPHPフレームワークで、通常[MySQL](https://aiven.io/mysql)または[PostgreSQL®](https://aiven.io/postgresql)データベースでバックアップされています（Aivenは両方を提供しています）。多くの開発者プラットフォームでは、1つのデータベースを開発用に使用し、別のデータベースを特定のテストデータセット用に使用しています。また、特定の問題をデバッグするために別の場所に接続する必要があるかもしれません。しかし、データベースの切り替えは面倒です。


幸いなことに、私たちはあなたのための解決策を持っています！[aiven-laravel`](https://github.com/Aiven-Labs/aiven-laravel)パッケージは、データベース接続の再設定を簡単にします。artisan`コマンドラインユーティリティにコマンドを追加し、アプリケーションをAivenデータベースサービスのいずれかに設定できるようにします。また、使用していないデータベースをパワーオフするヘルパーも追加されているので、より生産的な目的のためにお金を節約することができます。


## Aiven-Laravel パッケージのセットアップ


Aivenを初めて使う場合は、[無料トライアルに申し込む](https://console.aiven.io/signup)ことで始めることができます。Laravelが初めての方は、[スタータープロジェクト](https://laravel.com/docs/8.x#installation-via-composer)をご利用ください。


aiven-laravel`をComposerで既存の（または新しく作成した）プロジェクトに追加します。プロジェクトページに[完全なインストール手順](https://github.com/Aiven-Labs/aiven-laravel#getting-started)があります。Aivenアカウントに接続するために[Aivenアクセストークン](https://aiven.io/docs/platform/howto/create_authentication_token)を生成する必要があります。


## LaravelがAivenサービスを使用するように設定する


aiven-laravel`を使用すると、Aiven for MySQLとAiven for PostgreSQL（またはRedis®*やOpenSearch®もLaravelでよく使用される組み合わせです）のどちらを実行する場合でも、設定が簡単になります。Laravelのデフォルト設定は、`.env`ファイルを使用し、データベースホスト、ポート、その他の詳細を個別にリストすることです。しかし、`DATABASE_URL`環境変数を使用して、接続文字列全体を保持することもできます。これはデータベース接続を扱うのにもっと便利な方法です。開発用の `.env` ファイルに単一の文字列を設定し、デプロイ先のクラウドプラットフォームで環境変数を1つだけ設定する。


現在Aivenアカウントにあるデータベースとそのタイプを確認するには、次のコマンドを使用します：



```
`php artisan aiven:list`クリップボードにコピーする
```

*Note:* 説明書を読まずに `Aiven-Labs/aiven-laravel` パッケージをインストールし、まだ設定していない場合、設定すべき環境変数が表示されます。なぜなら、このパッケージはセットアップの説明も読まないエンジニアによってビルドされたからです。


dev-db`という MySQL サービスがあるとしよう。これに接続するために必要な設定をLaravelから取得することができます：



```
php artisan aiven:getconfig --service dev-db`クリップボードにコピーする
```

コマンドの出力を取り、コンフィグが必要な場所に置く！ローカルで開発している場合、デフォルトでは `.env` になりますが、複数の環境設定ファイルを使用していたり、異なる方法で環境を管理している場合は、これらの値を代わりに使用することができます。


## クラウド請求に驚かないために


特に開発において、セットアップの近代化やクラウドへの移行を躊躇させる要因の1つは、何かを誤って設定してしまい、多額の請求書を受け取ることがいかに簡単であるかということだ。これはあまりにも頻繁に起こることであり、すべての開発者が注意すべきことであることは間違いない。Aivenの**価格設定にはデータ転送**が含まれているため、表示されている価格は、データベースをフルタイムで稼動させたままにした場合に支払う金額です。


コストを抑えるもう一つの方法は、使わないときは電源を切ることで、これは特に開発プラットフォームに当てはまります。Aivenは、使っていないときにデータベースの電源を切り、そのまま電源を入れることができます。


Aiven-Laravelパッケージで、`artisan`からそのサポートを追加しました：



```
`php artisan aiven:powerup --service dev-db`クリップボードにコピーする。
```

[あなたの素晴らしいことがここで起こる]


その日の作業が終わったら、次の時間までサービスの電源を落としてメーターの作動を止めます：



```
php artisan aiven:powerdown --service dev-db`クリップボードにコピーする
```

常時起動しておく必要のないデータベース、毎日使う必要のないクライアントのテストプラットフォーム......このようなアプローチにより、クラウドは必要なときに摩擦の少ないアクセスができる、非常に魅力的なデータベース保管場所となる。


## Aiven-Laravelとあなた


Aiven-Laravelはすでに多くのPHP開発者の皆様にご利用いただいております。何を追加しますか？このツールを使ってみるべきだと思う人はいますか？[GitHubリポジトリ](https://github.com/Aiven-Labs/aiven-laravel)での課題、スター、プルリクエストは大歓迎です！


## まとめ


次のステップとして、[Aiven for PostgreSQL](https://aiven.io/postgresql) または [Aiven for MySQL](https://aiven.io/mysql) をチェックしてみてください。


まだAivenのサービスをご利用でない方は、<https://console.aiven.io/signup>から無料トライアルにお申し込みください！


また、[changelog](https://aiven.io/changelog)や[RSS feeds](https://aiven.io/developer/feed.xml)、または[LinkedIn](https://www.linkedin.com/company/aiven/)や[Twitter](https://twitter.com/aiven_io)のアカウントをフォローして、製品や機能関連の最新情報をご確認ください。