Я считаю это плохой практикой по нескольким причинам:
Сначала предположим, что один из ваших разработчиков испортил и сделал что-то, что в итоге потребляет всю вычислительную мощность вашего сервера. К сожалению, продукт не работает без веской причины.
Во-вторых, разработчики могут легко изменить неправильную базу данных. К сожалению, продукт не работает без веской причины. По крайней мере, вы можете избежать этого, не предоставляя никаких производственных прав разработчикам (что вы должны делать в любом случае в качестве лучшей практики).
В-третьих, если база данных находится на том же сервере, у нее должно быть другое имя, это может затруднить перемещение и вызвать ошибки. Я думаю, это также означает, что менее вероятно, что вы развернете правильно с помощью сценариев, контролируемых исходным кодом. Если вы решите скопировать объекты из одной базы данных в другую, то у вас могут возникнуть проблемы с этим. Во-первых, если в объекте уже есть данные, вы можете случайно стереть их (надеюсь, у вас есть резервная копия) или вы можете переместить новую структуру таблицы, но пропустите такие вещи, как PK и FKS, а также значения по умолчанию, триггеры, ограничения и индексы или мастеру может потребоваться гораздо больше времени для перемещения, поскольку в фоновом режиме он создает и заполняет новую таблицу, а затем удаляет старую и переименовывает новую, а не использует alter table. К сожалению, продукт не работает или серьезно замедлен без веской причины.