Если сущности находятся в независимых БД, обычно сохраняют внешний идентификатор и разрешают связь на уровне сервиса. Обычный внешний ключ не обеспечивает целостность между такими базами.
Как связать внешние поля модели, если данные находятся в разных базах?
Если сущности находятся в независимых БД, обычно сохраняют внешний идентификатор и разрешают связь на уровне сервиса. Обычный внешний ключ не обеспечивает целостность между такими базами.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Если сущности находятся в независимых БД, обычно сохраняют внешний идентификатор и разрешают связь на уровне сервиса. Обычный внешний ключ не обеспечивает целостность между такими базами.
Владельцем сущности должен быть один сервис или источник данных. Другой хранит ID, обращается к API либо поддерживает локальную read-модель по событиям. Нужно определить поведение при удалении, недоступности и задержке обновления. Для отчётности данные можно объединять в отдельном хранилище или использовать поддерживаемую СУБД федерацию, но это отдельный механизм с ограничениями. ORM не превращает межбазовую связь в обычную транзакционную ForeignKey. Если нужна строгая атомарная целостность, стоит пересмотреть границу хранения.