синхронизировать данные базы данных клиента с основной базой данных - laravel - PullRequest
0 голосов
/ 01 ноября 2018

Я создаю мультитенантное приложение saas, используя laravel 5.7 и vuejs. Независимо от регистрации нового клиента система создаст для него новую базу данных, а все миграции и заполнение таблиц будут выполняться через события.
Но когда супер-администратор управляет приложением, как загрузить данные каждого клиента в супер-админ-панель или, скажем, супер-администратор хочет сделать объявление обо всем своем клиенте, как это сделать в laravel, чтобы данные объявления синхронизировались со всей базой данных.

1 Ответ

0 голосов
/ 01 ноября 2018

Возможно, создайте отдельную БД для SUPER-ADMIN, и эта БД будет содержать clients_table и другие данные, необходимые для чтения / записи данных в клиентской БД (такие данные, как имя клиентской базы данных, пользователь, пароль, для установления соединения с его дб и т. д.).

В качестве альтернативы - вы можете создать специальную таблицу `clients_announcments 'в super-admin-db (или может быть новым db: common_clients_db) и использовать ее для этого (и читать ее из клиентов) - зависит от того, сколько клиентов у вас есть и что эффективность вам нужна

Если вы создаете такую ​​«большую» систему saas со многими БД, я также призываю вас к жесткому разделению между бэкендом и фронтэндом - это означает, что бэкэнд laravel будет предоставлять только Restful API (НЕТ html-css-js code - только чистый php) и клиент frotend будет отдельным проектом vue / angular / реагировать, который будет использовать этот API. Ключевые слова "архитектура микросервиса", "restful api"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...