new
tatarp authored
2f75f364
Name Last commit Last update
.idea new
docker new
web new
.DS_Store test
.gitignore new
README.md new
docker-compose.yml new

IT Symfony template

Tento template je vhodné si naklonovat rovnou už v GitLabu, protože projekt už bude mít pojmenování podle vašeho přání. Součástí template je i konfigurace DOCKERU.

Základní příkazy pro konfiguraci kontejneru

Build image

docker-compose build

Toto by melo stahnout a nastavit vše potřebné

Sestaveni a spustení kontejneru

docker-compose up  -d nebo
docker-compose up -d --build

V tuto chvili by mel byt docker projekt ready na http://localhost:84 viz soubor docker-compose.yml, kde to jde i změnit. --build používáme pro přegenerování image kontejneru.

http://localhost:84

ukončení kontejneru

docker-compose down  

Potom je možné i na stejný port spustit jiný kontejner.

SQL databáze a adminer

Součásti konfigurace je SQL databáze a adminer. Najdeme jí na url:

http://localhost:84/adminer

Databáze mezi kontejnery je na portu 3306 viz soubor docker-compose.yml. Není potřeba psát do připojení k databázi IP a port. Stačí název service ze souboru docker-compose.yml vč. jména root a hesla.

mysqldb

Neukládejte na Gitlab soubory DB, pouze sql dump. Jedná se o adresář ./data/database, který musí zůstat git ignore.

Nastavení přístupu k DB přes doctrine

Nastavujeme v souboru env na root webu

DATABASE_URL="mysql://pokus:pokus@mysqldb:3306/pokus?serverVersion=mariadb-10.7.3&charset=utf8mb4"

Základní příkazy pro doctrine

Příkazy zadáváme v docker containeru

vypiše seznam příkazů

php bin/console list make

vytvoreni entity

php bin/console make:entity

Pro relaci v průvodci vytvoříme "type relation"

php bin/console make:migration

Připraví sql k migraci

php bin/console doctrine:migrations:migrate

Vytvoří tabulky v DB

vytvoření entit z existující tabulky

php bin/console doctrine:mapping:import "App\Entity" annotation --path=src/Entity

Prvním krokem k vytvoření tříd entit z existující databáze je požádat Doctrine, aby si databázi prohlédla a vygenerovala odpovídající soubory metadat. Soubory metadat popisují třídu entity, která se má generovat na základě polí tabulky.

Tento nástroj příkazového řádku žádá Doctrinu, aby prozkoumala databázi a vygenerovala nové třídy PHP s metadaty anotací do src/Entity. Tím se vygenerují dva soubory: BlogPost.phpa BlogComment.php.

úpravy existujících entit

php bin/console make:entity --regenerate

Regeneruje entity

php bin/console make:migration

Připraví sql k migraci

php bin/console doctrine:migrations:migrate

Vytvoří/upraví tabulky v DB

bin/console doctrine:migrations:sync-metadata-storage

Synchronizuje metadata

všechny příkazy

doctrine:migrations:current [aktuální] Vypíše aktuální verzi.
doctrine:migrations:diff [diff] Vygenerujte migraci porovnáním vaší aktuální databáze s vašimi mapovacími informacemi.
doctrine:migrations:dump-schema [schéma výpisu] Vypište schéma pro vaši databázi do migrace.
doctrine:migrations:execute [execute] Manuální spuštění jedné verze migrace nahoru nebo dolů.
octrine:migrations:generate [generate] Vygeneruje prázdnou třídu migrace.
doctrine:migrations:latest [latest] Vypíše číslo nejnovější verze
doctrine:migrations:migrate [migrate] Proveďte migraci na zadanou verzi nebo na nejnovější dostupnou verzi.
doctrine:migrations:rollup [souhrnná] Shrňte migrace odstraněním všech sledovaných verzí a vložením jediné verze, která existuje.
doctrine:migrations:status [stav] Zobrazení stavu sady migrací.
doctrine:migrations:up-to-date [up-to-date] Řekne vám, zda je vaše schéma aktuální.
doctrine:migrations:version [verze] Ručně přidat a odstranit verze migrace z tabulky verzí.
doctrine:migrations:sync-metadata-storage [sync-metadata-storage] Zajišťuje, že úložiště metadat je v nejnovější verzi.
doctrine:migrations:list [list-migrations] Zobrazí seznam všech dostupných migrací a jejich stav.

Základní příkazy pro tvorbu formulářu

Příkazy zadáváme v docker containeru

php bin/console make:form

V prvním kroku zadáme název formuláře a ve druhém kroku název entity.