Dziedziczenie migracji w Laravel

0

Czy możliwe jest zrobienie czegoś takiego w migracjach w Laravel:

mam klasę migracji class CreateUsersTable extends Migration{}.
I teraz chciałbym zrobić nową migrację, która zawierałaby elementy z CreateUsersTable.
Czy można zrobić to tak: class NowaUsersTable extend CreateUsersTable{}?

Analogicznie, czy można zrobić podobne dziedziczenie w modelu?

1
  1. Dlaczego chciałbyś dziedziczyć migracje?
  2. Możesz dziedziczyć modele, lecz Laravel ich w żaden specjalny sposób nie będzie obsługiwał (w porównaniu do np. Doctrine'a, gdzie masz różne bajeranckie sposoby dziedziczenia: https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/inheritance-mapping.html). Tzn. powinno wszystko działać, ale będzie średnio wygodne w użyciu. IMO najlepiej celować w kompozycję.
0

Tzn. nie jestem pewny czy tak się powinno robić.

Załóżmy, że mam kilka nazwisk: Uczeń 1, Uczeń 2, Uczeń 3.
I chcę, by każdy miał osobną tabelę. I dla przykładu tabela dla Uczeń 1 jest taka: imie, nazwisko, wiek, adres.
I teraz pytanie czy dobrze myślę.
Każda tabela powinna mieć osobną migrację, czy można jakoś ustawić, by jedna migracja tworzyła różne tabele?
Jeżeli każda migracja ma być osobno, to czy mozna utworzyć jakąś migrację główną np. Uczeń i żeby pozostale dziedziczyły pola do wypełnienia, czy po prostu każdą migrację zrobić, że dziedziczy tylko normalnie po Migration i reszte na zasadzie kopiuj wklej wypełnić?

1

migracja z samego przeznaczenia i tego jak ma działać nie powinna nigdy być dziedziczona, jeśli chcesz coś dziedziczyć to znaczy, ze źle się do bazy zabierasz, o czym zresztą świadczą twoje następne wypowiedzi w postaci tabel uczen1, uczen2 gdzie powinna być jedna tabela zawierająca odpowiednią kolumne pozwalająca identyfikować ucznia a nie kolejna tabela.

0

Trochę źle to opisałem o co mi chodzi, ale dzięki za odpowiedzi, bo w sumie naprowadziliście mnie na rozwiązanie problemu.
Można zamknąć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1