Ich versuche, das CircleCi-Setup zu konfigurieren. Wenn ich versuche, die Tests in meiner eigenen Umgebung auszuführen, funktioniert alles, aber wenn ich versuche, es in Circle CI auszuführen, habe ich diesen Fehler.Wie konfiguriere ich circle.yml, um die Datenbank aufzurufen?
PHPUnit 5.6.0 von Sebastian Bergmann und Mitwirkende.
IIIII.IIIIIIIIIIIIIIIIIIIIIIIIIIIIIFFFFFFFFFFFFIIII..IIIIIIIIIIII 65/89 (73%) IIIIIIIIIIIIIIIIIIIIIII. 89/89 (100%)
Zeit: 1,27 Sekunden, Speicher: 56.00MB
Es gab 12 Ausfälle:
1) App \ Test \ Testcase \ Controllers \ TagsControllerTest :: testStages Ausnahme " PDOException‘mit der Meldung 'SQLSTATE [HY000] [2002] Eine solche Datei oder das Verzeichnis' in /home/ubuntu/cemcloud2/vendor/cakephp/cakephp/src/Database/Driver/PDODriverTrait.php:48
Dies ist erster Teil des Fehlers.
Ich bekomme, dass ich einen Fehler mit meiner Datenbankkonfiguration habe. Wir verwenden Vagrant mit dem Skript (nicht sicher, ob das möglich ist). Auch wir verwenden mariaDB 10.1.19 und ich habe eine Testdatenbank für PHPUnit aufgebaut, um die Tests gegen zu führen. Ich weiß nicht, wie man diese Datenbank mit der Konfiguration von Mariadb und spezifischer Datenbank hinzufügt.
Ich weiß, dass ich die
database.yml.ci
meiner Konfigurationsdatei hinzufügen müssen, so habe ich es dort gegeben, und es sieht so aus.
test:
adapter: mysql
database: cemcloudTest
username: root
password: ''
Auch ich habe die circle.yml zu unserem Projekt root hinzugefügt und es sieht so aus.
machine:
php:
version: 7.0
mysql:
version: 10.1.19
database:
override:
- cp config/database.yml.ci config/database.yml
- bundle exec rake db:create db:schema:load
Könnte mir jemand helfen?
Update: geschützte Funktion _connect ($ dsn, array $ config) { debug ($ dsn); $ connection = new PDO ( $ dsn, $ config [ 'username'], $ config [ 'password'], $ config [ 'Flags'] ); $ this-> Verbindung ($ Verbindung); Rückkehr wahr; } Dies ist, wo ich mein Debug gesetzt habe und es gibt mir diesen Code zurück. ########## DEBUG ########## 'mysql: host = localhost; port = 3306; dbname = cemcloud; charset = utf8' –