базы держу в миграциях (что вроде считается хорошей практикой). Но столкнулся с одной вещью, которую в миграцию загрузить не получается: нужно сделать CREATE EXTENSION, а это я могу сделать только из под роли superuser (которой пользователь, из под которого работает приложение, не обладает).
Я, естественно, могу подключиться вручную и к локальной базе, и к RDS, и сделать это один раз и забыть - но напрягает, что теперь для того, чтобы поднять приложение с нуля, кроме автоматически проходящих миграций, есть ещё один шаг, который не автоматизируется. Как правильно с ним обойтись?
А почему бы Вам не "стартовать" с базы, в которой этот extension уже установлен (иначе Вам придётся как-то сложнее "обходить" эту проблему, например, с использованием функции с SECURITY DEFINER специально для установки extensions)? (Подумав) Да и то, такую функцию Вы только из-под superuser сможете создать. ;)
Обсуждают сегодня