Ich arbeite an einer Webanwendung von Ruby on Rails 3 mit sqlite3. Ich habe meine Anwendung im laufenden Betrieb getestet und Dinge in der Datenbank erstellt und zerstört, manchmal über die Aktionen new
und edit
und manchmal über die Rails-Konsole.
Ich bin daran interessiert, meine Datenbank vollständig zu leeren und nur die leeren Tabellen zu haben. Wie kann ich das erreichen? Ich arbeite mit einem Team, daher bin ich an zwei Antworten interessiert: 1) Wie entleere ich die Datenbank nur bei mir? 2) Wie kann ich es (wenn möglich) durch die anderen leeren (von denen einige nicht sqlite3, sondern MySql verwenden)? (Wir arbeiten alle an einem Projekt über ein SVN-Repository)
Um Ihre Datenbank zurückzusetzen, können Sie Folgendes ausführen:
%Vor%Dies wird Ihre Datenbank aus Ihrer schema.rb-Datei wiederherstellen (die von Ihren Migrationen verwaltet wird). Dies schützt Sie zusätzlich vor Migrationen, die später aufgrund von Codeänderungen fehlschlagen können.
Ihre Entwicklungsdatenbank sollte sich von Ihrer Umgebung unterscheiden. Wenn Sie bestimmte Daten benötigen, fügen Sie sie Ihrer seed.rb-Datei hinzu. Geben Sie keine Dev-Datenbank frei, da Sie schnell in Situationen geraten, in denen andere Änderungen Ihre Version inkompatibel machen.
Laden Sie sqlitebrower hier herunter Ссылка
Installieren Sie es, führen Sie es aus und klicken Sie auf open database (oben links) auf locationOfYourRailsApp / db / development.sqlite3
Wechseln Sie dann zur Registerkarte Daten durchsuchen, dort können Sie Daten löschen oder hinzufügen.
Soweit ich weiß, gibt es in sqlite kein USER GRANT-Management, daher ist es schwierig, den Zugriff zu kontrollieren.
Sie können die Datenbank nur durch Dateizugriff schützen.
Wenn Sie eine leere Datenbank für Testzwecke verwenden möchten. Generiere es einmal und kopiere die Datei irgendwo. und benutze eine Kopie dieser Datei direkt vor dem Test.
Tags und Links ruby-on-rails-3 database sqlite3