Leere meine Sqlite3-Datenbank in RoR

7

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)

    
Nayish 24.01.2011, 10:56
quelle

4 Antworten

0

Ich habe festgestellt, dass durch Löschen der Datei deployment.sqlite3 aus dem Ordner db und Einfügen des Befehls rake db:migrate in die Befehlszeile das Problem für mein gesamtes Team, das an sqlite3 arbeitet, gelöst wird.

    
Nayish 24.01.2011, 13:38
quelle
18

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.

    
Codebeef 26.01.2011 16:14
quelle
2

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.

    
Marko 27.05.2016 15:40
quelle
0

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.

    
VGE 24.01.2011 11:00
quelle