Base de donnée
Malheuresement, MyEureka ne dispose pas de fixtures robustes,
et lancer un php bin/console doctrine:fixtures:load ne suffit pas à faire fonctionner le tout.
Nous allons avoir besoin d'un(e) collègue ici, afin qu'il ou elle nous fournisse un dump récent et fonctionnel de la BDD.
Etant donné que la base de donnée est située dans un container Docker, il va falloir changer le DATABASE_URL pour lui dire de pointer vers ce container.
Son nom c'est dev_myeureka_db (défini dans compose.yml)
Dans le .env.local, il vous faudra alors mettre:
DATABASE_URL=postgresql://postgres:admin@dev_myeureka_db:5432/myeureka_sf6?serverVersion=12&charset=utf8
PHP pourra alors communiquer avec le container PostgreSQL créé plus tôt.
"dev_myeureka_db" n'est evidemment pas un host valide, mais lorsque le container php (myphp) va lire ceci, il saura qu'il s'agit du container postgresql (mydatabase) grâce au lien défini dans le compose.yml
myphp:
container_name: dev_myeureka_php
...
links:
- mydatabase <- Ici
Import de la Base de donnée
Munissez vous du dump de la BDD et importez ce fichier comme s'il s'agissait d'une installation de PostgreSQL classique.
Lors de votre connexion il faudra indiquer les informations suivantes:
- Host: 127.0.0.1
- Port: 8112
Oui, il s'agit bien de votre local (127.0.0.1) mais alors pas du tout du bon port PostgreSQL ! (normalement 5432).
Ici aussi, la raison se trouve dans le compose.yml.
La partie qui définit notre container PostgreSQL indique que le port hôte 8112 est redirigé vers le port 5432 du container PGSQL
mydatabase:
container_name: dev_myeureka_db
image: postgres:12-alpine
environment:
POSTGRES_DB: myeureka_sf6
POSTGRES_PASSWORD: admin
POSTGRES_USER: postgres
database:
ports:
- 8112:5432 <- Ici
Le choix du numéro de port 8112 est purement arbitraire. Si jamais vous vous demandiez pourquoi ce numéro de port.
Cette clef ports est utile lorsque l'on veut rendre un container accessible depuis notre machine hôte.
Cette configuration de port n'est pas obligatoire mais dans notre cas elle nous sert à pouvoir accéder facilement à la BDD avec un outil tel que pgAdmin4, DBeaver ou autre..
Une fois l'import effectué, MyEureka est installé localement et est fonctionnel !