Ich habe die Tabellen 'author' und 'book' in einer has_many: through-Tabelle 'author_book'
Soweit ich das beurteilen kann, gibt es keinen Grund zu einem: id-Primärschlüsselfeld in der "author_book" -Tabelle ... aber bevor ich mich dieser Idee anschloss, wollte ich nur bestätigen. Gibt es also einen Grund dafür, die ID-Spalte in einer has_many: through-Tabelle zu belassen?
Vielen Dank im Voraus ...
Behalte es. Später werden Sie feststellen, dass sich der eindeutige Identifikator auf eine Weise auszahlt, die anfangs nicht offensichtlich ist.
Im Gegensatz zu anderen agilen Entwicklungsprinzipien ist es besser, Datenqualitätsthemen wie diese im Voraus zu adressieren.
Wenn Sie jemals etwas Einzigartiges in der Beziehung zwischen Autor und Buch haben, benötigen Sie id
, um es in dieser Tabelle über ein AuthorBook
-Modell zu setzen. Es klingt in diesem Fall nicht wie ein wahrscheinliches Szenario, und Sie können es später bei Bedarf hinzufügen.
Wenn es sich um has_many through
handelt, bedeutet dies, dass author_book
ein aktives Rekordmodell ist. Bitte lassen Sie die ID für sie zurück. Aber wenn Sie has_and_belongs_to_many
Verbindungstabelle verwenden, brauchen Sie keine ID Ссылка
Tags und Links ruby ruby-on-rails primary-key database-design has-many-through