zurücksetzen Primärschlüssel-id in rails

Ich habe ein problem mit, wie der Primärschlüssel wird erhöht, wenn ich delete_all aus einer Tabelle, und starten Sie das einsetzen erneut. Dies ist problematisch, da habe ich andere Modelle, die im Zusammenhang mit der Tabelle gelöscht. Zum Beispiel, wenn ich von Apple, dass belongs_to Computer, wenn ich dann löschen Sie die Computer-Tabelle und re-fügen Sie die computer, die Assoziationen Durcheinander kommen, denn Apple hat nun Kleinkind computer_id in seinen Reihen. Ich möchte in der Lage sein, um einen reset der Primärschlüssel der computer so, dass wenn ich wieder den computer hinzufügen, der Verein bleibt dennoch intakt. Wie gehe ich über das tun dies in rails?

Bearbeiten
Ich bin sehr Leid für die nicht ganz klar, aber jetzt werde ich Ihnen sagen, ich möchte, zu tun. Ich möchte einem Benutzer verbunden sein mit einer Maschine (computer). Ein computer hat seine eigene id und kann nur geschaffen werden durch den admin. Es gibt einen festen Betrag, den der computer in der computer-Tabelle.

User
belongs_to :computer

Computer
has_many :users

Das problem, das ich bin vor ist, dass ich den computer Tisch vorinstalliert inneren Samen.rb/einige rakefile. Wenn ich starte meine app, ich will einfach nur die Datei ausführen, dass zuerst alles löscht und dann vor und lädt die Tabelle. Dies lässt den Benutzer einen computer wählen, der nur aus den in der Tabelle computer. Ich möchte in der Lage sein, um dieses Skript auszuführen wieder (sagen wir in heroku console, ohne löschen der User-Tabelle) und bekomme immer noch die gleiche id, die für jede Maschine (und damit für jeden Nutzer). Ich bin verwirrt, wie sollte ich dies tun. Bitte lassen Sie mich wissen, ob ich das machen soll dies anders.

  • Sollten Sie nicht laden Sie diese Art von Daten mit Samen oder Leuchten oder was auch immer. Es sollte beibehalten werden, durch einige admin-interface. Verwenden Sie nicht zwei Primärschlüssel haben - Sie werden am Ende im großen Chaos 🙂
  • Vielleicht versuchen zu erklären, was Sie tun und warum Sie es tun wollen.
  • Ich hab meine Antwort bearbeitet
InformationsquelleAutor denniss | 2010-12-28
Schreibe einen Kommentar