自分だけのクイズ作成 - Quipha公開中

【Laravel】既存(非Sail)プロジェクトをSail環境へ移行

Laravel
スポンサーリンク

はじめに

以下の記事では、Laravel Sailを使って環境の構築を行いました。

Windows
Mac

SailはDockerですので、開発環境を簡単に用意することもできますし、カスタマイズすることも楽です。
私自身、最近はSailでの開発環境を使用しています。

Laravelの開発環境について、Sail環境ではなく、ローカルPCにMySQLやComposerをインストールして開発していますでしょうか。
特に古いプロジェクトはその様になっていると思いますが、今回はSail環境じゃないプロジェクトを、Sail環境に移行するための手順をまとめました。

使用するバージョンなど
  • Windows 11
  • WSL 2
  • Docker Desktop
  • Laravel

他にも私のブログで、Laravelについて解説している記事がありますのでご覧ください。

【紹介】個人開発

私の個人開発ですがQuiphaというサービスを開発しました。(Laravel, Vue3など)
良かったら、会員登録して動作を試してみて下さい。

また、Laravel 9 実践入門という書籍を出版しました。
Kindle Unlimitedを契約している方であれば、読み放題で無料でご覧いただくことができます

是非多くの方に読んでいただき、Laravelの開発に少しでもお役に立てたら幸いです。

Sail環境へ移行

Composerでプロジェクトを作成

まずは、ローカルPCにインストールしたComposerでLaravelプロジェクトを作成します。
作成したプロジェクトをSail環境へ移行する手順を行います。

Sail環境を構築するため、WSL2やDockerは必要になりますので、以下の構築手順を参考にしてください。

以下のコマンドでLaravelプロジェクトを作成します。

composer create-project laravel/laravel sample-project --prefer-dist

新規でLaravelプロジェクトを作成した場合、composer.jsonを確認すると、Sailは導入されています

    "require-dev": {
        "facade/ignition": "^2.5",
        "fakerphp/faker": "^1.9.1",
        "laravel/sail": "^1.0.1",
        "mockery/mockery": "^1.4.4",
        "nunomaduro/collision": "^5.10",
        "phpunit/phpunit": "^9.5.10"
    },

もし、古いLaravelプロジェクトでSailがcomposer.jsonの一覧にない場合は、以下のコマンドでSailをインストールします。

composer require laravel/sail --dev

Sailへ移行

以下のコマンドでLaravelプロジェクトにSail環境を準備します。

php artisan sail:install

コンテナ環境に何を構築するか聞かれます。
今回はmariadbだけインストールしたいので、2を入力しEnterで進めました。

Which services would you like to install? [mysql]:
  [0] mysql
  [1] pgsql
  [2] mariadb
  [3] redis
  [4] memcached
  [5] meilisearch
  [6] minio
  [7] mailhog
  [8] selenium

もし複数指定する場合は、カンマ区切りで入力します。
ちなみにSailでプロジェクトを作成した場合は、デフォルトで以下の番号のサービスが追加されています。

0,3,5,7,8

もちろん後からサービスの追加はできます。

以下のメッセージが表示され、環境の構築はすぐに終わります。(docker-compose.ymlが作成されるなど)

Sail scaffolding installed successfully.
スポンサーリンク

Sailの起動

VS Codeのターミナルで、WSLを開きます。

Sailを起動します。

./vendor/bin/sail up

以下のURLにアクセスしましょう。

http://localhost/

Laravelの起動画面が表示されました。
これでローカルPCに構築したXAMPPやComposerは不要で、Sailを通じて作成されたDockerコンテナの方で実行環境が整いました

.envの確認

.envの確認を行いましょう。変更の必要はありませんが、DBに接続できるのでしょうか。

DBのホスト先は自動で変更になっていました。

DB_HOST=mariadb

すでに設定されているデータベースの接続情報で、コンテナ内のデータベースは作成されます。

DB_DATABASE=DB名
DB_USERNAME=ユーザ
DB_PASSWORD=パスワード

以下のコマンドでテーブルを作成すればOKですね!

sail php artisan migrate

さいごに

Sail環境は、ローカルに開発環境の用意も不要で、複数人の開発でも環境を統一できるのでとても便利です。
古いプロジェクトでSailを導入していない場合は、移行を検討してみましょう。

他にも私のブログで、Laravelについて解説している記事がありますのでご覧ください。

\オススメ/

コメント

タイトルとURLをコピーしました