Сначала создайте сценарий базы данных и создайте базу данных с помощью SQL Server Management Studio, а затем создайте скрипт

У меня был дружественный, но подогретый аргумент с моим ведущим разработчиком на днях, потому что у нашего проекта есть TSQL-скрипты, которые я кодирую непосредственно в SQL-файлы, которые я затем запускаю против базы данных. Я нахожу, что, когда я это делаю, легко проработать схему заранее, не указывая и не нажимать, и тогда нет возможности забыть генерировать скрипт для управления исходными текстами, поскольку генерация скрипта перестает быть обычной задачей делать после факта, но является неявной частью процесса (а также приводит к более чистым сценариям без лишних ошибок, которые SQL Server Management Studio вставляет в сценарии, которые он создает).

Мой ведущий разработчик настаивает на том, что необходимость ручного сценария это боль в заднице и что он абсолютно отказывается писать свои скрипты вручную, когда есть отличные инструменты для этого без кодирования. Я заметил, что копирование его изменений в реальные скрипты, как правило, немного задерживается.

Каковы ваши мысли о плюсах и / или минусах сделать это по-другому? Я слишком жесткая / старая школа в своих сценариях схемы кодирования, или он слишком полагается на сторонние инструменты и теряет что-то в этом процессе?

Я всегда создаю сценарий самостоятельно, потому что мастера иногда не записывают вещи так, как мне нравится, а также будут давать фанковые имена по умолчанию

сами скрипты сами по себе хороши на случай, если вас уволят, и вам нужно пойти на собеседование, где они попросят вас сценарий DDL на доске

Поскольку я обычно сотрудничаю с коллегой во время проектирования схемы, я склонен разрабатывать схему с помощью инструментов графического интерфейса, так как ее легче обсудить с диаграммой таблиц перед вами. Затем я создаю сценарии, тщательно подбираю точные параметры, которые я хочу избежать, чтобы выполнить ручные изменения после экспорта.

Я думаю, что решение об относительных достоинствах двух подходов могло бы учитывать такие факторы, как

  • частота изменений схемы
  • частота, с которой изменения должны распространяться на другие схемы (тест, приемка пользователя, производство, клиенты * n и т. д.),
  • степень, в которой схема может варьироваться в разных ветвях развития
  • как хорошо известно заранее, ваши различные изменения могут быть запланированы
  • независимо от того, можете ли вы создавать сценарии SQL «diff» между схемами.

В целом я предпочитаю работать со сценарием для каждого изменения (или «миграции»). Это позволяет мне перераспределять изменения в приоритетном режиме.

Просто потому, что вы можете создавать таблицы в графическом инструменте, это не обязательно означает, что вы должны .

Я считаю, что писать сценарий так же просто, как использовать SQLMS. Вам все равно придется вводить имена в SQLMS, и время, затрачиваемое на перемещение с клавиатуры и мыши, может быть использовано для написания правильного сценария в любом случае.

Двое из вас почти работают с двумя наборами кода. Консистенция, по-видимому, является ключевым фактором в этих типах решений. В вашем случае, если вы создаете скрипт, ваш босс использует gui для добавления поля, как вы остаетесь в синхронизации? Вы не можете использовать свой скрипт для перестройки таблицы без ее редактирования (Chance for error.).

Может быть, он должен поднять рейтинг и заставить вас форматировать ваши скрипты так же, как их создает GUI, – просто шутит.

Я думаю, вам стоит перевернуть его ……….

Давайте будем гением компьютера.