Jump to content
php.lv forumi

Datu bāzes A struktūru pārkopēt uz B neietekmējot B datus


OOPHP+MySQL

Recommended Posts

Man ir paraugdatubāze A, kas satur kaut kādu datu glabāšanas struktūru MySQL. Piemēra pēc apskatīsim vienkāršotu struktūru:

 

A struktura:

 

Tabula AA

Pirmais lauks | Otrais lauks | Trešais lauks | Ceturtais lauks | Piektais lauks | Sestais lauks | Jaunais lauks

 

Tabula AB

Pirmais lauks | Otrais lauks | Trešais lauks | Ceturtais lauks | Piektais lauks | Jaunais lauks

 

Tabula AC

Pirmais lauks | Otrais lauks | Trešais lauks | Ceturtais lauks | Jaunais lauks

 

Tabula AD

Pirmais lauks | Otrais lauks | Trešais lauks | Jaunais lauks

 

Tabula AE

Pirmais lauks | Otrais lauks | Trešais lauks | Ceturtais lauks | Piektais lauks | Sestais lauks | Jaunais lauks

 

B struktura:

 

Tabula AA

Pirmais lauks | Otrais lauks | Trešais lauks | Ceturtais lauks | Piektais lauks | Sestais lauks

 

Tabula AB

Pirmais lauks | Otrais lauks | Trešais lauks | Ceturtais lauks | Piektais lauks

 

Tabula AC

Pirmais lauks | Otrais lauks | Trešais lauks | Ceturtais lauks

 

Tabula AD

Pirmais lauks | Otrais lauks | Trešais lauks

 

Tabula AE

Pirmais lauks | Otrais lauks | Trešais lauks | Ceturtais lauks | Piektais lauks | Sestais lauks

 

Šajās abās tabulās ir kaut kādi dati, kas nedrīkst tikt zaudēti vai mainīti. Vai ir kaut kāds variants, kā to izdarīt ar kādu softu vai web paneli vai arī ideālajā gadījumā ar kādu MySQL komandu. Un palūgšu kādu gudrāku komentāru nekā citos forumos ALTER TABLE un viss... Alter table ir komanda, kas ļauj alternēt tabulu struktūru ievadot katru izmaiņu ar rociņām. Protams var taisīt skriptu, kas čeko datubāzē tabulas un tabulu struktūras un tad attiecīgi raksta atbilstošus ALTER TABLE skriptus, kurus izpildīt, taču tas ir pēdējais rīks pie kā ķerties. Vai tiešām nav nekur risinājums kā neskarot datus papildināt datubāzes struktūru tā, lai 1 pret 1 atbilst kādai citai esošai datubāzei?

 

Jautājums tiem, kas patiešām ir GURU un spēj uz to atbildēt... Lūgums iedziļināties un neuzdot jautājumu - a kāpēc tev to vajag?

 

Piemērā parādīts tikai vienkāršots paraugs un datubāzes nav tikai 2, bet gan vairāki desmiti...

 

Paldies jau iepriekš! :)

Link to comment
Share on other sites

cik saprotu tev šīs tabulas strukt;uru vajag pārnest uz citu Db?

 

$command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip > $backupFile";
system($command);[

Edited by bobsters
Link to comment
Share on other sites

cik saprotu tev šīs tabulas strukt;uru vajag pārnest uz citu Db?

 

$command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip > $backupFile";
system($command);[

 

Man vajag visas datubāzes struktūru (tātad arī tabulu struktūru) pārnest uz citu datubāzi nemainot nedz vienas nedz otras datubāzes datus.

 

Šis izskatās pēc vienkāršāka varianta, kas pat varētu būt tīri ērti lietojams. Lai gan neredzu īsti kādā veidā to varētu lietot nezaudējot datus... Taču tas ir konsoliskais variants. Vai ir kāds variants, kuru varu ielikt kā skriptu iekš php bez piekļuves ssh caur system komandu, bet gan ar query?

Link to comment
Share on other sites

Tu nevari pārnest no vienas DB uz otru DB datus, nemainot nedz vienas, NEDZ OTRAS DB datus :) Tak otrajā nāks klāt jaunie dati! :))

 

Ja tev ir phpmyadmin, tad tur var ļoti vienkārši izmantot EXPORT un IMPORT iespēju :)

Link to comment
Share on other sites

Ir rīki, kas varētu ļaut to darīt, piemēram MySQL workbench arī sola kaut ko līdzīgu http://dev.mysql.com/doc/workbench/en/wb-database-synchronization.html

Vari iepētīt vai tas ir tas, kas tev der.

 

Vispār jau parast šādi rīki (kas ir reāli lietojami arī praktiski) maksā nevājas naudiņas un nav diez cik viegli lietojami...

 

Gints Plivna

http://datubazes.wordpress.com/

Link to comment
Share on other sites

Tu nevari pārnest no vienas DB uz otru DB datus, nemainot nedz vienas, NEDZ OTRAS DB datus :) Tak otrajā nāks klāt jaunie dati! :))

 

Ja tev ir phpmyadmin, tad tur var ļoti vienkārši izmantot EXPORT un IMPORT iespēju :)

Struktūra ir viena lieta un tās saturs cita lieta... Datubāzē ir jānāk klāt lauciņiem bez infas un vacejiem datiem jābūt vietās... IMPORT UN EXPORT lietošanas ieteikšana liecina, ka neesi iedziļinājies un tātad nesaproti ko nozīmē "Lūdzu iedziļināties"

Link to comment
Share on other sites

nu bet ar mysqldump tu vari backupot jau esosu db un tad backup failu importēt jaunajā datubāzē!

Jā un rezultātā es iegūšu sadirstu datubāzi - nevis pieliktus klāt lauciņus, bet padirstus datus vai piedirstu ar jauniem datiem... Neredzu kā strādājošai datubāzei var ar backup lietošanu pielikt klāt lauciņus struktūrai nemainot saturu... Varbūt vari ar koda plašāku aprakstu parādīt solution kas tev ir galvā? Jo no 1 rindiņas saprotu tikai to, ka var uztaisīt backup, kuru nezinu kur bāzt...

Link to comment
Share on other sites

Ir rīki, kas varētu ļaut to darīt, piemēram MySQL workbench arī sola kaut ko līdzīgu http://dev.mysql.com/doc/workbench/en/wb-database-synchronization.html

Vari iepētīt vai tas ir tas, kas tev der.

 

Vispār jau parast šādi rīki (kas ir reāli lietojami arī praktiski) maksā nevājas naudiņas un nav diez cik viegli lietojami...

 

Gints Plivna

http://datubazes.wordpress.com/

 

Super - vot šitas izskatās pēc tā ko es meklēju... Tagad tik jānotestē kā strādā!

 

 

Paldies!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...