База данных под контролем источника снова! - PullRequest
3 голосов
/ 29 сентября 2008

Мы используем MS SQL Server и C #. Наша база данных находится под контролем источника, и я расскажу вам некоторые детали нашей реализации. Мы реализовали две операции:

  1. Экспорт базы данных в текстовые файлы. Файлы схемы базы данных: tables.sql relationships.sql views.sql ... и файлы содержимого таблицы: Данные / table1.txt Данные / table2.txt ... Легко просматривать изменения базы данных с помощью журналов контроля версий, поскольку все эти файлы имеют простой текстовый формат. Реализация основана на классах из пространства имен Microsoft.SqlServer.Management.Smo.

  2. Импорт базы данных из этого простого текстового файла. Реализация проста - просто выполнить операторы sql из * .sql файлов, а затем выполнить несколько вставок.

Итак, у нас есть два bat-файла: create-test-databse.bat и export-test-database.bat. Когда разработчику нужна новая тестовая база данных, он просто запускает bat-файл и ждет минуту. Каждый функциональный тест, которому нужна база данных, создает новую базу данных, использует ее, а затем убивает ее. Но я должен сказать, что это не очень быстрая операция. (

Итак, какие инструменты ВЫ используете, чтобы поставить свою базу данных под контроль исходного кода? Я имею в виду, как вы реализуете операции «создание тестовой базы данных» и «экспорт тестовой базы данных», например?

Ответы [ 3 ]

2 голосов
/ 29 сентября 2008

Я думаю, что вы задаете два вопроса здесь. Во-первых, как получить вашу базу данных под контролем исходного кода. Ваше решение интересно, и я также использовал Visual Studio Team Edition для специалистов по базам данных (вот руководство, которое я написал для TDD хранимых процедур с его использованием)

Во-вторых, как настроить базу данных для интеграционных тестов. Настройка и разрушение всей базы данных может показаться излишним. Есть несколько решений там. Я использовал DBFit . Рой Ошеров недавно опубликовал инструмент под названием XtUnit , с которым я не играл. И, конечно же, вы всегда можете настроить свои тесты на запуск транзакции в SetUp и откат во время демонтажа.

1 голос
/ 29 сентября 2008

Мы используем Visual Studio для специалистов по базам данных. Не выходи из дома без него.

0 голосов
/ 29 сентября 2008

Я использую VSTS для БД Pros. Вы указываете его на свой сервер SQL, и он анализирует вашу базу данных и создает отдельные файлы для вас. Вы даже можете создать тестовые данные для вас. Следующий выпуск будет включать поддержку сторонних поставщиков (например, Oracle, MySQL, DB2).

Отличная особенность здесь - проверка. Мы обнаружили, что части нашей базы данных были полностью повреждены (они были рудиментарными, больше не использовались кодом). Это в основном позволяет развернуть вашу базу данных по требованию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...