uoz 作業日記

様々な作業の記録を共有するブログです。

CakePHP 3.x の migrationが失敗するとき

問題

$ bin/cake migrations migrate


 [InvalidArgumentException]                 
  Could not infer database type from driver 

これは、設定ファイルの読み込みがおかしいのが原因

対策

config/app.phpの下記、'url'というオプションをコメントアウトしろ!

/**

            'url' => env('DATABASE_URL', null),

それか、環境変数DATABASE_URLをちゃんと設定するか

原因

cakephpが設定ファイルを読み込む

vendor/cakephp/cakephp/src/Core/StaticConfigTrait.php

  if (isset($config['url'])) {
            $parsed = static::parseDsn($config['url']);
            unset($config['url']);
            $config = $parsed + $config;
        }

この部分のコードがが$configを壊す