Die Erbschaft der Doktrin, die keine Aufzeichnung in die übergeordnete Tabelle einfügt

StackOverflow https://stackoverflow.com/questions/1914541

  •  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?

War es hilfreich?

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
scroll top