Лучший подход для подключения пользователя к их клиентской схеме? - PullRequest
0 голосов
/ 19 июня 2020

Я создаю приложение, в котором я хотел бы использовать мультитенантную стратегию создания схемы для каждого клиента. Было бы целесообразно хранить всех пользователей в таблице пользователей в одной схеме, которая включает в себя ссылочный столбец для их соответствующих схем?

Db_app_01
/schema_public
/schema_public/table_users
/schema_client_1

Где в table_users У меня есть:

|user_id|username|password|schema_id|
--------------------------------------
|1      |user1   |*       |1        |

Я подумал, что могу легко запросить правильную схему, поскольку schema_id будет доступен в основной таблице пользователей, которая используется для аутентификации.

1 Ответ

1 голос
/ 19 июня 2020

Ваш подход мне подходит, если не так много разных пользователей. Когда количество таблиц и схем вырастет до 10000, запросы метаданных станут sluggi sh, и это больше не принесет большого удовольствия.

Я бы не стал строить запросы Dynami c из schema_id, явно ссылаясь на соответствующую схему.

Скорее, я бы установил search_path соответствующим образом.

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