У нас есть система, в которой у нас есть база данных для каждого подразделения, в настоящее время у нас более 20 подразделений.
Поэтому, когда нам нужно обновить/удалить/изменить/создать новую таблицу, мы должны бросить все эти базы данных и выполнить запросы.
Иногда люди не следуют процедурам (всегда?), и в итоге у нас остаются структуры, которые не обновляются.
Я искал способ запускать одни и те же запросы ко всей базе данных без использования bash или внешних скриптов.
Итак, вот некоторые из вещей, которые я нашел:
CALL FOR EACH("SELECT databases WHERE `DATABASE` LIKE 'division_%'" , ${1});
где я мог бы ввести запрос в ${1}
или это (менее динамично):
call $('{a, b}' , 'ALTER TABLE division_${1}.caching ADD COLUMN notes VARCHAR(4096) CHARSET utf8'');
Но это дает мне "База данных не выбрана"
Любая идея о том, как действовать в этой ситуации?