Kdyby/Doctrine schema update maže tabulky, které nemá

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Cocot
Člen | 12
+
0
-

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
+
+1
-

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)

David Klouček
Člen | 57
+
0
-

Cocot:

$this->schemaTool->updateSchema($this->metadatas, TRUE);
Cocot
Člen | 12
+
0
-

Děkuji, oba jste mi velice pomohli

qwerin
Člen | 25
+
0
-

super přesně tohle jsem hledal