Dziedziczenie migracji w Laravel

Odpowiedz Nowy wątek
2019-02-11 19:26
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?

Pozostało 580 znaków

2019-02-11 19:58
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.[...]ence/inheritance-mapping.html). Tzn. powinno wszystko działać, ale będzie średnio wygodne w użyciu. IMO najlepiej celować w kompozycję.

edytowany 3x, ostatnio: Patryk27, 2019-02-11 20:00

Pozostało 580 znaków

2019-02-11 20:08
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ć?

Pozostało 580 znaków

2019-02-11 21:01
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.

edytowany 1x, ostatnio: mr_jaro, 2019-02-11 21:01

Pozostało 580 znaków

2019-02-11 21:10
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ąć.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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