2017-07-14 1 views
1

So habe ich eine vorhandene Postgres-Datenbank, die von einem Python-Skript aufgefüllt wird. Jetzt mache ich eine Rails-API, die diese Daten an einen Kunden liefert. Zu meinem Vergnügen musste ich nur Modellklassen erstellen und einfach Beziehungen definieren. Keine Migrationsdateien, kein Schema, es funktioniert einfach. Also ein paar Fragen.Verwenden von Rails mit vorhandener Datenbank

  • Bin ich zu Recht sagen, dass schema.rb nur für die Erstellung der Datenbank benötigt wird? Wenn ich keine Migrationen in meiner Rails-App mache, brauche ich überhaupt keine Schema- oder Migrationsdateien?
  • Ich dachte, dass Rails die Namen von Modellmethoden mit der Hilfe von schema.rb leitet. Aber es scheint der einzige Klebstoff, der ORM-Schicht bindet und die Datenbank Namenskonventionen? Gibt es irgendwelche Fallstricke, die ich übersehen könnte, wenn ich die Dinge auf diese Weise mache?

Antwort

2

schema.rb wird tatsächlich nicht von ActiveRecord benötigt.

Es wird verwendet für:

  • einen schnellen Überblick über den Zustand der Datenbank
  • Erstellen thedatabase Tabellen haben, wenn db:schema:load Aufgabe wie Apartment
  • in Edelsteine ​​verwenden, (glaube ich) es verwendet wird, Erstellen mandantenspezifischer Schemas

TL: DR; - Sie brauchen die Datei schema.rb nicht wirklich, aber es ist immer gut, sie als autorisierende Quelle für db-Informationen zu haben.

Weitere Informationen hier: http://edgeguides.rubyonrails.org/active_record_migrations.html#schema-dumping-and-you

Verwandte Themen