Frage

Also, was ist der beste Weg, um neue Tabellen in einer SQLite-Datenbank in Rails erstellen 2. ich die Datenbank mit rake db erstellt habe: Befehl migrieren. Also soll ich schreibe einzelnen SQL-Skripte eine Datenbank zu erstellen oder Rake verwendet irgendwie. Ich habe keine Gerüste müssen.

War es hilfreich?

Lösung

Grundsätzlich verwenden Migrationen.

Einige nützliche Hilfe, wie Migrationen verwenden finden Sie unter http: //wiki.rubyonrails. org / Schienen / pages / understandingmigrations und http://wiki.rubyonrails.org/ Schienen / pages / UsingMigrations . Ein guter Spickzettel, die ich benutze auch unter http://dizzy.co.uk/ ruby_on_rails / cheatsheets / Schienen-Migrationen .

Im Grunde Migrationen verwendet Ruby-Code Ihre Datenbank-Tabellen für Sie zu erstellen. Es ist viel einfacher (meiner Meinung nach zumindest) schönem Ruby-Code zu verwenden, dies eher als SQL-DDL zu tun - es tut auch verschiedene Dinge für Sie automatisch (wie das Hinzufügen id Felder auf all Ihren Tabellen Schienen erfordert). Sie können dann Rake Aufgaben verwenden, um tatsächlich die Migration auf Ihre Datenbank anzuwenden. Der andere große Vorteil, dass Migrationen geben Ihnen ist, dass sie reverseable sind -. So Ihre Datenbank versioniert und Sie können von einer Version zur anderen leicht springen

Andere Tipps

Versuchen Sie zu vermeiden Schreiben CREATE / ALTER Tabellenskripten und Active Migrationen verwenden statt. Einige Gründe in den Sinn:

  • Portabilität: es ist viel einfacher zu lassen AR handelt von plattformübergreifenden Geschmack Unterschiede
  • Ändern Kontrolle: Ihre Migrationen können Änderungen verwalten beiden Richtungen mit der VERSION = Option, etwas, das nicht leicht zu tun mit SQL
  • Es ist der Rails Weg: folgen Sie den Rails Konventionen es sei denn, Sie haben einen zwingenden Grund, nicht zu tun so
  • Einfachheit: Sie müssen nicht über ID und Zeitstempel Spalten Sorgen machen, wenn Sie Migrationen verwenden, die Sie spart mit ihnen zu merken, wenn Sie in SQL
  • arbeiten

Wenn Sie nicht mit Gerüsten sind, dann sollten Sie script/generate migration verwenden, um eine Migrationsdatei für jede Tabelle zu erstellen. Es gibt keine Notwendigkeit, SQL-Skripte zu verwenden. Nach ein paar Wanderungen erstellen, können Sie sie zu Ihrer Datenbank mit rake db gelten:. Migrate

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top