Изменить схему MySQL во время выполнения - PullRequest
0 голосов
/ 11 декабря 2018

У меня мультитенантное приложение.Это система управления школой.Приложение настроено для использования подхода Schema-Per-Tenant.Но это ограничено только одной схемой доступа на запрос.Я хочу использовать три разные схемы для каждого запроса.

Каждый пользователь имеет две схемы и общую схему приложения.Всего 3. Я хочу, чтобы мое приложение переключалось между всеми тремя схемами при одном вызове rest.Например, если запрос на добавление нового ученика, ученик должен быть добавлен в SCHEMA_A, автоматически созданная учетная запись пользователя для ученика должна быть добавлена ​​в COMMON_SCHEMA, а studentId должен быть добавлен в класс в SCHEMA_B.В настоящее время я использую

entityManager.createNativeQuery("USE SCHEMA_A").executeUpdate();
add(student);

entityManager.createNativeQuery("USE COMMON_SCHEMA").executeUpdate();
add(generateUserForStudent(student));

entityManager.createNativeQuery("USE SCHEMA_B").executeUpdate();
addStudentToClass(student);

, это работает.

Но мне интересно, если это правильный подход.

Я также не уверен, еслиэто вызовет конфликты, когда в систему одновременно войдет несколько пользователей.

Может ли кто-нибудь мне помочь?

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