Mam sytuację, gdzie jeden user może mieć **jeden oddział **i w tabeli users mam klucz obcy department_id. Ktoś tak kiedyś wymyślił i tak zostało. Okazuje się, że klientowi się zachciało, żeby jeden user miał kilka oddziałów. To spowodowało, że zadałem sobie dwa pytania:
1) Czy podczas projektowania bazy danych, nawet jeżeli na tamten moment nie ma takiej potrzebny, powinniśmy zakładać, że kiedyś z relacji one-to-many zrobi się many-to-many i tworzyć pivot table?
* Np. Pytanie może mieć jedną kategorię (category_id w tabeli questions), ale kiedyś klient może zmienić zdanie i robi się problem. Rozwiązaniem jest od początku założenie, że taka sytuacja może mieć miejsce i stworzenie tabeli category_question.*
**2) Czy w jakiś sposób jest możliwa taka migracja jak opisałem? Stworzenie tabeli pośredniej i przepisanie danych to mały problem, ale co z odwołaniami w kodzie? Czy jest na to jakiś sposób?**