Avatar billede bigo Nybegynder
18. februar 2011 - 20:46 Der er 1 kommentar og
1 løsning

Sync/opdater db

Hejsa.

Jeg har to databaser, en dev og en live. Jeg vil gerne kunne køre et php script som finder ud af hvordan dev db "ser ud".

Derefter et script der kan tage dev "setup" og opdatere/synce live db.

Nogen der har nogle forslag til script(s) eller hvordan man kunne tilgå det..
Avatar billede intenz Novice
18. februar 2011 - 22:42 #1
Så nemt er det typisk ikke. Det kommer jo helt an på hvad du vil 'synce'. Er det kun nye tabeller, kan du måske finde noget på google.

Men er der også ændringer i eksisterende tabeller? Skal data med over? Der begynder det at blive lidt komplekst.

Jeg ville lave et dump (formegentligt manuelt) af de ændringer der var lavet, eller løbende skrive de SQL ændringer jeg laver i en fil, der så kan bruger til at opdatere 'live' databasen. Det kan du ikke finde et script der kan gøre.
Avatar billede bigo Nybegynder
21. februar 2011 - 13:07 #2
Hmm.. måtte ty til to scripts.. et der lavede et godt og rart array af den "nye" database.
Resultatet af den kode kommer man så ind i upgrade.php scriptet (som et array) og får scriptet til at "smage" på den "gamle" database.

Array_diff gør så tricket..

SHOW TABLES FROM database
efterfulgt af
SHOW COLUMNS FROM table
giver et godt og rart array.

det kører man på begge databaser og sammenligner arrays..

Efterfølgende er det ALTER og CREATE kombineret med DROP der opretter tabeller/felter og sletter tabeller/felter.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester