Die Erbschaft der Doktrin, die keine Aufzeichnung in die übergeordnete Tabelle einfügt
-
19-09-2019 - |
Frage
Ich habe die folgende Datenbankstruktur:
Account:
columns:
email: string(255)
name:
type: string(255)
UserRegistered:
columns:
email:
type: string(255)
email: true
notnull: true
unique: true
username:
type: string(255)
notnull: true
nospace: true
unique: true
minlength: 5
password:
type: string(255)
token: string(255)
inheritance:
extends: Account
type: concrete
UserOpenid:
columns:
openid: string(255)
openid_provider: string(255)
inheritance:
extends: Account
type: concrete
Wenn ich einen neuen Benutzerregister- oder UserOpenID -Datensatz einfüge, hätte ich erwartet, dass er einen Benutzerregister sowie einen Kontodatensatz erstellt.
Habe ich Vererbung falsch verstanden / habe ich es missbraucht oder habe ich etwas falsch gemacht?
Lösung
Wenn Sie konkrete Erbschaft verwenden, ist die Master -Tabelle immer leer. Alle Felder aus der Master -Tabelle sind in den Kindertabellen dupliziert. Daher müssen nicht in die Master -Tabelle schreiben.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow