# Migrace, entity
Migrace
- spuštění migrací - doctrine:migration:migration
- když symfony hlásí chybu v databázi (typicky "missing column"), zkusit spustit migrace
- vytvoření nové migrace oproti aktuální databázi - doctrine:migration:diff (hned přidat migraci do gitu - git add - aby se nezapomnělo ji commitnout)
Entity
- nepoužívat trait pro přidání primárního klíče (konkrétně nepoužívat traitu
PrimaryKey
) - pořadí atributů
- primární klíč
- skalární atributy
- vazby na ostatní entity
- setter na kolekci -
"ping pong" varianta setterů- NEPOUŽÍVAT ping pong settery, při větší db příkazcontains
zbytečně vyžere paměť.- nevytvářet settery pro
@OneToMany
atributy typusetSomethings()
- nemá smysl přepsat celý obsah kolekce. Místo toho lze použít metodyaddSomething
aremoveSomething
na kolekci
- nevytvářet settery pro
- getter na json: (u velkého jsonu může být clone náročný)
- nepoužívat trait pro přidání primárního klíče (konkrétně nepoužívat traitu
public function getData(bool $clone) : \stdClass
{
if ($clone) {
return clone $this->data;
}
return $this->data;
}