Foarte pe scurt, am o aplicație pe Symfony 5 cu o mică bază de date. Nimic prea mare, doar ce am început să mă joc cu Symfony.
Sînt curios cum ați reușit să faceți deploy pe Heroku, pe curat. Adică, am creat aplicația pe Heroku, am aprovizionat-o cu un add-on PostgreSQL, variabila de mediu DATABASE_URL
a fost automat creată și populată cu informațiile corecte de conectare, toate bune.
Dacă execut:
git push heroku-staging master
Primesc asta:
Executing script cache:clear [KO]
remote: [KO]
remote: Script cache:clear returned with error code 7
remote: !!
remote: !! // Clearing the cache for the prod environment with debug
remote: !! // false
remote: !!
remote: !!
remote: !! In ExceptionConverter.php line 75:
remote: !!
remote: !! An exception occurred while executing a query: SQLSTATE[42P01]: Undefined t
remote: !! able: 7 ERROR: relation "user" does not exist
remote: !! LINE 1: ...created_at_8, u0_.updated_at AS updated_at_9 FROM "user" u0_...
remote: !! ^
remote: !!
remote: !!
remote: !! In Exception.php line 26:
remote: !!
remote: !! SQLSTATE[42P01]: Undefined table: 7 ERROR: relation "user" does not exist
remote: !! LINE 1: ...created_at_8, u0_.updated_at AS updated_at_9 FROM "user" u0_...
remote: !! ^
remote: !!
remote: !!
remote: !! In Connection.php line 72:
remote: !!
remote: !! SQLSTATE[42P01]: Undefined table: 7 ERROR: relation "user" does not exist
remote: !! LINE 1: ...created_at_8, u0_.updated_at AS updated_at_9 FROM "user" u0_...
remote: !! ^
remote: !!
remote: !!
remote: !! cache:clear [--no-warmup] [--no-optional-warmers]
remote: !!
remote: !!
Mi se pare puțin ciudat și nu găsesc în online o metodă prin care aș putea să:
- Fac deploy la cod pe Heroku
- Să rulez migrațiile
- Să rulez Data Fixtures ca să pun ceva date de test pt. aplicație
La punctul 1. crapă fiindcă nu găsește tabele în baza de date. E normal, fiindcă baza de date o migrez abia la punctul 2. Dar nu înțeleg cine și de ce încearcă să acceseze baza de date la 1.
Voi ai încercat asta pînă acum? Ăsta momentan este un mediu staging, deci da, vreau acces la toate astea, fără să le mut în require
.
"require-dev": {
"doctrine/doctrine-fixtures-bundle": "^3.4",
"fakerphp/faker": "^1.16",
"symfony/debug-bundle": "5.4.*",
"symfony/maker-bundle": "^1.33",
"symfony/stopwatch": "5.4.*",
"symfony/web-profiler-bundle": "5.4.*"
}