Я нахожусь на довольно новом проекте, где мы все еще модифицируем дизайн наших таблиц базы данных Oracle 11g.Таким образом, мы отбрасываем и воссоздаем наши таблицы довольно часто, чтобы убедиться, что наши сценарии создания таблиц работают, как и ожидалось, всякий раз, когда мы вносим изменения.
Наша база данных состоит из 2 схем.Одна схема имеет несколько таблиц с триггерами INSERT
, которые иногда копируют данные в таблицы в нашей второй схеме.Это требует от нас входа в базу данных с учетной записью администратора, такой как sysdba
и GRANT
доступ к первой схеме к необходимым таблицам второй схемы, например
GRANT ALL ON schema_two.SomeTable TO schema_one;
Наша проблема заключается в том, что каждыйКогда мы вносим изменения в дизайн нашей базы данных и хотим удалить и воссоздать наши таблицы базы данных, доступ, который мы GRANT
-ed к schema_one
прекратили, когда таблица была удалена.Таким образом, это создает еще один раздражающий шаг, когда мы должны войти в систему с учетной записью администратора, чтобы повторно GRANT
получать доступ каждый раз, когда одна из этих таблиц удаляется и воссоздается.
Это не так уж сложно, но я бы хотел исключить как можно больше шагов из наших процедур разработки и тестирования.Есть ли какой-нибудь способ GRANT
доступа к таблице таким образом, чтобы права доступа GRANT
пережили удаление таблицы и ее повторное создание?И если это невозможно, то есть ли лучший способ сделать это?