Ini ialah arahan mysql-schema-diffp yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.
JADUAL:
NAMA
mysql-schema-diff - bandingkan skema pangkalan data MySQL
SINOPSIS
mysql-schema-diff [B ] B B
mysql-schema-diff --help
DESCRIPTION
mysql-schema-diff ialah bahagian hadapan skrip Perl kepada CPANhttp://www.perl.com/CPAN> modul
MySQL:: Perbezaanhttp://search.cpan.org/search?module=MySQL::Diff> yang membandingkan data
struktur (iaitu skema / definisi jadual) dua MySQLhttp://www.mysql.com/>
pangkalan data, dan mengembalikan perbezaan sebagai urutan perintah MySQL yang sesuai untuk perpaipan
ke dalam mysql yang akan mengubah struktur pangkalan data pertama menjadi sama dengan
yang kedua (cf. diff and tampalan).
Struktur pangkalan data boleh dibandingkan sama ada ia adalah fail yang mengandungi definisi jadual atau
pangkalan data sedia ada, tempatan atau jauh.
NB Program ini membuat tidak cuba membandingkan mana-mana data yang mungkin disimpan dalam
pangkalan data. Ia adalah semata-mata untuk membandingkan definisi jadual. Saya tidak bercadang untuk
melaksanakan perbandingan data; ia adalah masalah yang kompleks dan saya tidak memerlukannya
kefungsian pula. Walau bagaimanapun terdapat satu lagi program coldiff
<http://rossbeyer.net/software/mysql_coldiff/> yang melakukan ini, dan berdasarkan yang lebih tua
program dipanggil datadiff yang nampaknya telah hilang dari 'jaring.
Untuk PostgreSQL terdapat alat yang serupa seperti pgdiffhttp://pgdiff.sourceforge.net/> dan
apgdiffhttp://apgdiff.startnet.biz/>.
CONTOH
# bandingkan takrif jadual dalam dua fail
mysql-schema-diff db1.mysql db2.mysql
# bandingkan takrif jadual dalam fail 'db1.mysql' dengan pangkalan data 'db2'
mysql-schema-diff db1.mysql db2
# menaik taraf secara interaktif skema pangkalan data 'db1' menjadi seperti
# skema diterangkan dalam fail 'db2.mysql'
mysql-schema-diff -A db1 db2.mysql
# bandingkan takrif jadual dalam dua pangkalan data pada mesin jauh
mysql-schema-diff --host=remote.host.com --user=myaccount db1 db2
# bandingkan takrif jadual dalam pangkalan data tempatan 'foo' dengan a
# 'bar' pangkalan data pada mesin jauh, apabila fail foo sudah
# wujud dalam direktori semasa
mysql-schema-diff --host2=remote.host.com --password=secret db:foo bar
PILIHAN
Butiran lanjut akan datang; buat masa ini jalankan "mysql-schema-diff --help".
DALAMAN
Untuk kedua-dua struktur pangkalan data yang dibandingkan, perkara berikut berlaku:
· Jika hujah adalah nama fail yang sah, fail tersebut digunakan untuk mencipta pangkalan data sementara
yang mana "mysqldump -d" dijalankan untuk mendapatkan takrif jadual dalam bentuk kanonik.
Pangkalan data sementara kemudiannya digugurkan. (Pangkalan data sementara dinamakan
"test_mysqldiff_temp_something" kerana kebenaran MySQL lalai membenarkan sesiapa sahaja
buat pangkalan data bermula dengan awalan "test_".)
· Jika hujah ialah pangkalan data, "mysqldump -d" dijalankan terus padanya.
· Di mana pengesahan diperlukan, nama hos, nama pengguna dan kata laluan diberikan oleh
pilihan yang sepadan digunakan (taip "mysql-schema-diff --help" untuk maklumat lanjut).
· Setiap set definisi jadual kini dihuraikan ke dalam jadual, dan medan serta kunci indeks
dalam jadual tersebut; ini dibandingkan, dan perbezaan yang dikeluarkan dalam bentuk
pernyataan MySQL.
Gunakan mysql-schema-diffp dalam talian menggunakan perkhidmatan onworks.net