2012-04-11 4 views
0

Ich habe eine production.sqlite3-Datei, die ich ihre Daten in das aktuelle Rails-Projekt importieren möchte, das Datenbankschema entspricht der Datei und meinem aktuellen Projekt. Ich habe den Inhalt in die Datei development.sqlite3 kopiert, aber das funktioniert nicht. Der einzige Weg, um Daten in die Datenbank einzufügen, besteht darin, eine XML-Datei zu laden oder den Seed-Befehl zu verwenden. Gibt es einen magischen Befehl oder andere Möglichkeiten, die Rails die Daten aus der .sqlite-Datei laden zu lassen? Denn von dem, was ich sehe, ist das Verhalten von Schienen, dass es nur die .sqlite3-Datei erstellt, wenn Sie rake db: create & migrieren, aber es wird ignoriert, was immer manuelle Änderungen in dieser Datei passieren. Bitte helfen Sie!So laden Sie die Daten aus einer .sqlite3-Datei in eine Ruby on Rails-Anwendung

Antwort

0

Es sieht so aus, als würde das Umbenennen Ihrer .sqlite3-Datei funktionieren. Stellen Sie sicher, dass Sie Ihren Server neu gestartet haben und dass der Server in der richtigen Umgebung ausgeführt wird. Wenn Sie die .sqlite3-Dateien in einen komplett anderen Ordner verschieben und den Server neu starten, sollte ein Fehler auftreten. Wenn dies nicht der Fall ist, wurde Ihr Server nicht ordnungsgemäß neu gestartet. Beenden Sie alle Ruby-Prozesse und versuchen Sie es erneut.

Als Antwort auf Ihre Frage zur Datenmigration hatte ich kürzlich ein ähnliches Problem, wo ich von sqlite3 zu mysql migrieren musste. Die beste Lösung, die ich gefunden habe, war yaml_db. Es schien die Arbeit schön zu tun - es in das Projekt ein, dann tun

rake db:data:dump 

Tauschen Sie die Datenbankkonfigurationen (oder eine neue Datenbank-Datei migrieren, oder die Entwicklungsumgebung ändern, was auch immer es Sie tun müssen, ist zu machen eine leere aber strukturierte Datenbank aktiv), dann:

rake db:data:load 
Verwandte Themen