Skip to content

Dažniausios klaidos su MySql #26

@aurelijusb

Description

@aurelijusb

Testuojama ne ta duomenų bazė

mysql -uroot -h127.0.0.1 --port=3306 -p

Bet dokumentacijoje specialiai padaryta su 330 7:

mysql -uroot -h127.0.0.1 --port=3307 -p

Kad naudotų dockeryje esantį MySql'ą ir jis nesikirstų su įdiegtų per apt-get install ar pan.

Kaip patikrinti:

  • docker ps rodo port'us
  • per php.symfony bin/console doctrine:database:create rodo duomenų bazės pavadinimą
  • per php.symfony env | grep DATABASE_URL rodo realią reikšmę

Komandos paleidžiamos prod / dev konteineriuose

Pakeičiamas DATABASE_URL reikšmė .env faile, bet bin/console vis tiek meta klaidas
Yra skirtumas tarp dev ir prod ir ci.nfqakademija.lt:

docker exec -it php.symfony bash
docker exec -it prod.php.symfony bash

Vienur imama iš .env, kitur įmituojamas padavimas per nginx/environment

Keliant į akademijos serverius, .env failas pakeičiamas jau sugeneruotų. Jei reikia papildomų pakeitimų (magiškai iš .env.dist nepaima), tai reikia per SSH prisijungti prie akademijos serverių

Kaip patikrinti:

  • Konteineryje paleisti env – ir žiūrėti reikšmes (ypač APP_ENV)

Pakeitimai išmėtyti per .env, site.conf ir docker-compose.yml

Pakeitimai .env faile neatsinaujina neperkrovus docker konteinerių 🪲

docker-compose perduoda APP_ENV kitmaąjį iš .env, bet (index.php)[https://github.com/nfqakademija/kickstart/blob/master/public/index.php#L11] ima duomenis iš .env tik kai nėra nustatytas APP_ENV

Apėjimas:

  • Perkrauti konteinerius: docker-compose kill ir docker-compose up -d

Dėkui @Xeriaz už surastą klaidą

Yra daug vietų, kur keisti konfigūraciją – gal galima sugeneruoti 💡

Dabar DATABASE_URL=mysql://root:[email protected]:3306/symfon yra tiesiog copy-paste docker-compose.yml, .env.dist ir site.conf failuose

Įmanoma būtų padaryti --endpoint script'ą, kad sugeneruotų reikiamus parametrus į environment ir nginx.
Pradinė idėja buvo – su kodo generavimu bus per daug magijos – bet su copy-paste yra per daug klaidų.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions