Laravel/Vue.jsで作成した課題のアプリをherokuにデプロイしています。
データベース(Clear DB)の設定をし、heroku run php artisan migrateコマンドをたたくとエラーが表示されます。
表示されるエラーは以下の通りです。
In Connection.php line 669: SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from inform ation_schema.tables where table_schema = heroku_・・・ and table_name = migrations and table_type = 'BASE TABLE') In PDOConnection.php line 31: SQLSTATE[HY000] [2002] No such file or directory In PDOConnection.php line 27: SQLSTATE[HY000] [2002] No such file or directory
前出の質問(https://teratail.com/questions/251305)と同様の状況かと思い、heroku run php artisan tinkerコマンドで内容を確認すると、以下が表示されます。
>>> config('database.default') => "mysql" >>> config('database.connections.mysql') => [ "driver" => "mysql", "url" => null, "host" => "ホスト名", "port" => "3306", "database" => "heroku_・・・", "username" => "ユーザーネーム", "password" => "パスワード", "unix_socket" => "/var/lib/mysql/mysql.sock", "charset" => "utf8mb4", "collation" => "utf8mb4_unicode_ci", "prefix" => "", "prefix_indexes" => true, "strict" => true, "engine" => null, "options" => [], ]
unix-socketの修正が必要かと思い、config/dataase.phpを以下のように修正しました。
'mysql' => [ 'driver' => 'mysql', 'url' => env('DATABASE_URL'), 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'データベース名'), 'username' => env('DB_USERNAME', 'ユーザーネーム'), 'password' => env('DB_PASSWORD', 'パスワード'), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'prefix_indexes' => true, 'strict' => true, 'engine' => null, 'options' => extension_loaded('pdo_mysql') ? array_filter([ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), ]) : [], ],
修正しましたが、heroku run php artisan migrateコマンドを打つと、上記と同様のエラーが表示されます。
Herokuへのアプリの登録は問題なく、ローカル環境と同様に表示されます(データベースを必要としないページ)。
修正箇所などがお分かりの方がいらっしゃいましたら、お力を貸してください!よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。