Как создать триггер, который вставляется в таблицу (tb_areas
), но эта таблица существует в нескольких схемах базы данных.
Точно, когда схема базы данных client-8c9a6e81-8bbb-4fec-8828-f623623031fb
вставлена в ваш tb_areas
, триггер вставляет значение этой вставки во все таблицы (tb_areas) всех других схем.
Я предполагаю, что мне нужно сначала сделать SELECT
, перечислив все схемы базы данных, кроме первой схемы базы данных, и использовать для выполнения чего-то вроде FOREACH
, для каждого имени схемы выполнить INSERT
.
Конечно, это очень легко сделать в PHP, но я хотел снять эту ответственность с системы, чтобы оставить ее непосредственно в базе данных.
+----------------------------------------------+
| Database |
+----------------------------------------------+
| cliente-8c9a6e81-8bbb-4fec-8828-f623623031fb |
| cliente-8cc42c57-4148-4338-8fc7-17d868fa075e |
| cliente-8cc42c57-4148-4338-8fc7-17d868fa080a |
| cliente-8cc42c57-4148-4338-8fc7-17d868fa090b |
| cliente-... |
| cliente-... |
| main_database |
+----------------------------------------------+
Схема main_database
имеет в своей таблице (tb_tenants) имена всех схем.
+----+----------------------------------------------+
| id | uuid |
+----+----------------------------------------------+
| 1 | cliente-8c9a6e81-8bbb-4fec-8828-f623623031fb |
| 11 | cliente-8cc42c57-4148-4338-8fc7-17d868fa075e |
| 12 | cliente-8cc42c57-4148-4338-8fc7-17d868fa080a |
| 13 | cliente-8cc42c57-4148-4338-8fc7-17d868fa090b |
| 14 | cliente-... |
+----+----------------------------------------------+