😄

ECS(Fargate)にLaravelアプリをデプロイする際、初回だけseederを実行するメモ

2024/12/11に公開

ECS(Fargate)にLaravelアプリをデプロイする際、初回だけseederを実行するメモ

ECS(Fargate)にLaravelアプリをデプロイした際、初回だけseederを実行したというときがあったのでその解決方法のメモ

解決方法

タスク定義のコマンドのところに以下のように記述した。migrate:statusの実行結果がMigration table not foundのときだけseederを実行して既に実行済みの場合は普通にmigrateを実行する。

"php artisan migrate:status 2>&1 | grep -q \"Migration table not found\" && php artisan cache:clear && php artisan config:clear && php artisan config:cache && php artisan view:cache && php artisan route:cache && chown -hR laravel:laravel storage bootstrap/cache && php artisan migrate:refresh --seed --force && php-fpm && composer install --optimize-autoloader --no-dev || php artisan cache:clear && php artisan config:clear && php artisan config:cache && php artisan view:cache && php artisan route:cache && chown -hR laravel:laravel storage bootstrap/cache && php artisan migrate && php-fpm && composer install --optimize-autoloader --no-dev"

最後に

間違っていることやこっちのやり方の方が良いよなどあればコメントに書いていただけると幸いです。
よろしくお願いいたします。

GitHubで編集を提案

Discussion