Ich möchte ein Skript in Ruby schreiben, um einige verpfuschte Schlüssel in mehreren Kopien desselben MySQL-Schemas zu bereinigen. Ich möchte etwas wie SHOW CREATE TABLE machen, dann schauen, was zurückkommt und Schlüssel löschen, wenn sie existieren.
Ich weiß, in der Rails-Umgebung können Sie das tun ...
%Vor%Aber was du zurückbekommst, ist ein "Ergebnis" -Objekt. Für diese Aufgabe brauche ich einen String, damit ich ihn analysieren und entsprechend handeln kann.
Sie können das mysql-ruby Juwel überprüfen.
Hier ist eine Zusammenfassung, wie man es benutzt: Verwenden des Ruby MySQL-Moduls
Mehr kann über Google
gefunden werdenIch würde das mysql-ruby-Juwel verwenden und Sie würden so etwas tun:
%Vor%Wenn Sie ActiveRecord nicht verwenden möchten, könnte ein ORM für Ihre Verwendung etwas kompliziert sein.) Sie können immer noch die ruby-mysql-Bibliothek benutzen oder noch besser IMHO ist die Ruby DBI / DBD-Bibliothek (< a href="http://rubyforge.org/projects/ruby-dbi/"> hier ) mit DBD-Treibern für mysql & amp; postgresql out-of-the-box.
Auf diese Weise können Sie gerade SQL-Anweisungen wie folgt ausgeben
%Vor%dbi / dbrc ist ein nützliches Modul, mit dem Sie es vermeiden können, Login und Passwort direkt in das Skript einzugeben. Siehe dort .
Es gibt wahrscheinlich einen besseren Weg, dies programmatisch zu tun. Wenn Sie jedoch wirklich die interaktiven Befehle steuern und die Ergebnisse parsen wollen, expect kann besser geeignet sein. Du könntest immer noch von deinem Ruby-Skript ausgehen.
Um diesen Thread zu aktualisieren: Ich würde Mysql2 jetzt vorschlagen: Ссылка
Tags und Links sql ruby mysql ruby-on-rails activerecord