3 Stimmen

Rails generieren Modell aus vorhandenen Tabelle?

Ich bin sehr neu im Rails-Framework und möchte wissen, wie man ein Modell auf der Grundlage einer vorhandenen Tabelle erstellt. Ich habe zum Beispiel eine Tabelle mit dem Namen Person und möchte das Modell auf der Grundlage der Spalten dieser Tabelle erstellen. Wenn ich jedoch "ruby script/generate model Person --skip-migration" verwende, wird eine leere Tabelle mit dem Namen "people" erstellt und das Modell danach erstellt. Gibt es eine Möglichkeit, ein Modell nach einer Tabelle mit dem Namen Person zu erstellen?

Gracias.

15voto

jmcnevin Punkte 1255

Rails ist sehr eigenwillig. Wenn Sie also eine Tabelle mit dem Namen "Person" haben und möchten, dass das zugehörige Modell Person heißt, müssen Sie Rails explizit sagen, dass es nicht so schlau sein soll (andernfalls nimmt es an, dass es für den Tabellennamen nach dem Plural des Modellnamens suchen muss).

class Person < ActiveRecord::Base
  set_table_name 'person'
end

Wenn der Primärschlüssel Ihrer Tabelle nicht "id" heißt, dann müssen Sie auch das angeben...

set_primary_key 'person_id'

Je nach Datenbank müssen Sie möglicherweise auch einen anderen Namen für die Autoincrement-Sequenz angeben.

Soweit ich weiß, gibt es keine Möglichkeit, automatisch ein Modell aus einer vorhandenen Legacy-Tabelle zu generieren, aber damit sollten Sie den größten Teil des Weges zurücklegen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X