> Źródło: https://redai.pl/dev/migracje-i-tabele/ (dokumentacja modułów portalu redAi). Cała dokumentacja w jednym pliku: https://redai.pl/dev/moduly.md

## Migracje i tabele

`migracje/` to zwykłe migracje Laravela (`return new class extends Migration`), z datą w nazwie pliku.

- Portal uruchamia brakujące migracje **przy włączeniu modułu**, przy każdym `php artisan migrate` i po aktualizacji modułu, gdy moduł jest włączony. Jeśli migracja się nie uda, moduł zostaje wyłączony, a administrator widzi błąd.
- **Tabele nazywacie od klucza modułu**: `faktury_kosztowe`, `faktury_kosztowe_pozycje`. Prefiks = klucz. Dzięki temu nigdy nie wejdziecie w tabele portalu ani innego modułu.
- Migracje tworzą i zmieniają **tylko własne tabele**. Nie dodajecie kolumn do tabel portalu (`users`, `projects` i innych) i nie zmieniacie ich danych.
- Wyłączenie modułu **nie kasuje** tabel ani danych. Po ponownym włączeniu wszystko wraca.
- Nowa wersja modułu dokłada nowe pliki migracji. Nie zmieniajcie migracji, które już wyszły w starszej wersji: instancja uznaje je za wykonane i nie uruchomi ich drugi raz.
- `down()` piszcie porządnie, ale nie liczcie na to, że ktoś go uruchomi.

