2011-08-11 3 views
3

Je veux faire un vidage de la base de données via les scripts Ruby, mais je n'ai trouvé aucune classe ou script pour le faire.(Ruby) Comment vider une base de données?

Idéalement, le vidage devrait fonctionner pour MySQL, PostgreSQL, SQLite, etc. (au moins MySql et Pg). J'ai essayé avec DBI mais je ne peux pas.

Autre moyen est en train de faire table pour la table ... D:

Edit 1: Il est seulement pour la sauvegarde, la restauration ne. Pour l'instant j'ai des problèmes avec les hébergements, parce que j'ai besoin de demander des permis pour mon IP, donc je vais essayer avec SSH.

+0

XD merci @Mchl –

+1

"essayer avec DBI mais je ne peux pas." - Quels problèmes rencontrez-vous? – cam

+0

car avec DBI je ne peux pas faire de vidage, mais je peux obtenir la table d'information par table, mais c'est lent à faire. –

Répondre

8

Que diriez-vous d'utiliser exec dans votre script pour lancer l'application mysqldump?

exec 'mysqlinstalldir/bin/mysqldump -u username -ppassword --databases databasename' 

Vous devriez être en mesure de faire la même chose avec Postgresql et pg_dump

+0

ummm. brillant! Je vais faire ça. Merci! –

5

vous pouvez utiliser vos outils système pour prendre décharge de la base de données, exécutez ce script dans votre code peut être une tâche de coupe

system "mysqldump database_name table1 table2 -u root -p password > path/to/dump/file " 
Questions connexes