2016-09-17 9 views
1

MySQLからPostgreSQLへの移行後、Laravel 5.1とTravis-CIを統合する際に問題が発生しています。Laravel 5とPostgreSQLを使用したTravis-CI

language: php 

php: 
    - 7.0 

addons: 
    postgresql: "9.4" 

before_install: 
    - composer self-update 
    - cp .env.travis .env 
    - psql -c 'create database CDJ_BD;' -U postgres 

install: 
    - composer require phpunit/phpunit:4.8.* satooshi/php-coveralls:dev-master 
    - composer install --dev 

script: 
    - php artisan migrate --seed 
    - ./vendor/bin/phpunit --coverage-clover ./tests/logs/clover.xml 

after_script: 
- php vendor/bin/coveralls -v 

database.phpで

... 
'default' => env('DB_CONNECTION', 'pgsql'), 
'connections' => [ 
     'testing' => [ 
      'driver' => 'pgsql', 
      'host'  => env('DB_HOST', 'localhost'), 
      'database' => env('DB_DATABASE', 'CDJ_BD'), 
      'username' => env('DB_USERNAME', 'postgres'), 
      'password' => env('DB_PASSWORD', ''), 
      'charset' => 'utf8', 
      'prefix' => '', 
      'schema' => 'public', 
     ], 

     'pgsql' => [ 
      'driver' => 'pgsql', 
      'host'  => env('DB_HOST', 'localhost'), 
      'database' => env('DB_DATABASE', 'CDJ_BD'), 
      'username' => env('DB_USERNAME', 'postgres'), 
      'password' => env('DB_PASSWORD', ''), 
      'charset' => 'utf8', 
      'prefix' => '', 
      'schema' => 'public', 
     ], 
    ], 
    ... 
.travis.yml

が.env.travis

APP_ENV=local 
APP_DEBUG=true 
APP_KEY=SomeRandomString 

DB_CONNECTION=pgsql 
DB_HOST=127.0.0.1 
DB_DATABASE=CDJ_BD 
DB_USERNAME=postgres 
DB_PASSWORD= 

CACHE_DRIVER=file 
SESSION_DRIVER=file 
QUEUE_DRIVER=sync 

REDIS_HOST=127.0.0.1 
REDIS_PASSWORD=null 
REDIS_PORT=6379 

MAIL_DRIVER=smtp 
MAIL_HOST=mailtrap.io 
MAIL_PORT=2525 
MAIL_USERNAME=null 
MAIL_PASSWORD=null 
MAIL_ENCRYPTION=null 

:私は、次の設定を試してみました

php artisan migrate --seedを実行した後、次の例外がスローされます。

[PDOException]             
    SQLSTATE[08006] [7] FATAL: database "CDJ_BD" does not exist 

私のMySQLの設定はかなり類似していたし、何の問題もなく走りました。どのようにこの問題を解決するための任意の提案?

ありがとうございました。

+0

'env( 'DB_DATABASE'、 'C​​DJ_BD')、' CAPSデータベース名が疑わしいと思われます。いずれにしても、Postgresログファイルをチェックすることができます。 – wildplasser

+0

うわー、それは実際問題でした。ありがとう! – kfilella

答えて

2

wildplasserのコメントで示唆されているように、問題はdatabase.phpと.travisファイルのenv('DB_DATABASE', 'CDJ_BD'),のCAPSデータベース名でした。それらをすべて小文字に切り替えると、'cdj_bd'が問題を解決しました。

関連する問題