Kdyby/Doctrine schema update maže tabulky, které nemá
- Cocot
- Člen | 12
Zdravím,
jsem začátečník tak se předem omlouvám jestli můj dotaz bude blbý,
Spokojeně používám kdyby/doctrine
Normálně si udělám entity, a abych nemusel tabulky generovat ručně používám toto:
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\Tools\SchemaTool;
/** @var SchemaTool */
private $schemaTool;
private $metadatas;
/** @var EntityManager */
private $entityManager;
public function __construct(EntityManager $entityManager, Users $users, Contents $contents)
{
$this->entityManager = $entityManager;
$this->contents = $contents;
$this->metadatas = $this->entityManager->getMetadataFactory()->getAllMetadata();
}
//Updating database
private function updateDatabase()
{
try {
$this->schemaTool = new SchemaTool($this->entityManager);
$this->schemaTool->updateSchema($this->metadatas);
} catch (ConnectionException $i) {
$this->addMessage($i->getMessage());
}
}
Vše funguje dokonale,
problém je že momentálně ve své aplikaci se potřebuji napojit na již hotovou databázi,
a tento update schéma databáze, mi smaže již hotové tabulky, které nejsou jako entity.
Předem děkuji všem za pomoc, pokud je můj dotaz hloupý tak prosím alespoň o nasměrování.
Editoval Cocot (21. 10. 2015 20:53)
- Darkling
- Člen | 35
Ahoj, v kdyby/doctrine už jsou připravené konzolové příkazy pro práci s db
php index.php // seznam všech dostupných příkazů
php index.php orm:valid // validace
php index.php orm:schema:up --dump-sql // vypíše sql pro update
php index.php orm:schema:up --force // natlačení do db, mělo by nechat tabulky, které nejsou entity napokoji
Snad to pomůže
Editoval Darkling (21. 10. 2015 23:47)