[Symfony2] inhoud database kopiëren?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Struikrover
  • Registratie: Juni 2005
  • Laatst online: 09-09 07:28
Ik probeer een git repository op te zetten van mijn Symfony2 webapplicatie om op meerdere locaties te kunnen werken, alleen blijf ik hangen bij het kopiëren van de bestaande data uit de database van mijn primaire werklocatie naar een andere locatie, om niet alles opnieuw zelf te hoeven invoeren.

Op internet ben ik verscheidene posts op fora tegengekomen die meldden dat ik via de console het commando
code:
1
php app/console doctrine:schema:update --dump-sql

kan uitvoeren om de inhoud van de database te dumpen. Dit werk wel met doctrine:schema:create maar niet met doctrine:schema:update. De melding luidt dan:

Nothing to update - your database is already in sync with the current entity metadata.

Ik weet dat mijn database goed gesynct is, maar wil dus die dump graag hebben. De optie --dump-sql lijkt niks te doen, terwijl hier bij doctrine:schema:create wel een mooie zooi SQL uit komt. Volgens de documentatie zou dit wel moeten werken:
As you would think, if you want to update your schema use the update command:
$ php doctrine orm:schema-tool:update
All of the above commands also accept a --dump-sql option that will output the SQL for the ran operation.
Aangezien men hier bij Tweakers volgens mij ook bezig is met symfony vroeg ik me af of iemand weet hoe ik makkelijk de data uit mijn huidige database kan dumpen naar een andere, die ik overigens al met doctrine heb opgezet.

Acties:
  • 0 Henk 'm!

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
De --dump-sql optie output alleen maar de SQL die benodigd is om je commando uit te voeren, wat ook letterlijk in die help staat. In jouw geval is je database al in sync en is er dus geen SQL die uitgevoerd hoeft te worden.
Dat is logisch toch?

Voor mijn gevoel is een database dump niet de scope van Doctrine, dus moet je dat bij een DBMS zoeken. Die kunnen dat makkelijk en zijn er voor gemaakt.

[ Voor 4% gewijzigd door armageddon_2k1 op 24-04-2012 10:13 ]

Engineering is like Tetris. Succes disappears and errors accumulate.


Acties:
  • 0 Henk 'm!

  • Struikrover
  • Registratie: Juni 2005
  • Laatst online: 09-09 07:28
Ja, logisch wel als je er over nadenkt. schema:update zou ook alleen maar de code genereren die nodig is om mijn entities te updaten, niet de data die in de DB staat...

Het probleem met een DBMS als PHPMyAdmin is echter dat ik wel een dump kan maken, maar omdat Doctrine met entities werkt heb ik het idee dat dit niet goed gaat? Op het moment dat ik de symfony database exporteer en importeer krijg ik in ieder geval een foreign key constraint error...

Acties:
  • 0 Henk 'm!

  • curvemod
  • Registratie: Maart 2009
  • Laatst online: 06-09 20:43
Misschien dat je eens kan proberen een dump te maken met mysqldump ipv PHPMyAdmin? Ik heb altijd ruzie met dumps die daarmee gemaakt zijn :)

Acties:
  • 0 Henk 'm!

  • Manuel
  • Registratie: Maart 2008
  • Laatst online: 10:22
Waarom wil je dit precies met Doctrine 2 doen terwijl hiervoor eigenlijk mysqldump (aanname) / innobackupex voor is uitgevonden? Je kunt gewoon iets als onderstaand uitvoeren om de data uit te database te halen:
mysqldump -u gebruiker -pwachtwoord databasenaam > output.sql
# Bovenstaande is eigenlijk precies hetzelfde wat PMA doet.
Struikrover schreef op dinsdag 24 april 2012 @ 10:19:
Op het moment dat ik de symfony database exporteer en importeer krijg ik in ieder geval een foreign key constraint error...
php app/console doctrine:schema:drop --force
mysql -u gebruiker -pwachtwoord databasenaam < output.sql
# Of phpmyadmin import natuurlijk

Acties:
  • 0 Henk 'm!

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
Struikrover schreef op dinsdag 24 april 2012 @ 10:19:
Het probleem met een DBMS als PHPMyAdmin is echter dat ik wel een dump kan maken, maar omdat Doctrine met entities werkt heb ik het idee dat dit niet goed gaat? Op het moment dat ik de symfony database exporteer en importeer krijg ik in ieder geval een foreign key constraint error...
Waarom zou Doctrine hier een probleem zijn? Er is geen reden waarom die Entities niet kunnen mappen naar nieuwe data in je DB, mits die natuurlijk aan alle constraints voldoet. Doctrine is puur een laag over je DB, ongeacht de content van de DB mits de structuur maar hetzelfde is.

Engineering is like Tetris. Succes disappears and errors accumulate.

Pagina: 1