Непрерывная интеграция базы данных — это процесс перестройки базы данных и тестирования данных каждый раз, когда изменения применяются к репозиторию управления версиями проекта.
В интеграции баз данных, как правило, все артефакты, связанные с интеграцией базы данных —
- Должен находиться в системе контроля версий.
- Может быть проверен на строгость и проверен на соответствие политике.
- Может быть сгенерирован с использованием ваших скриптов сборки.
Действия, которые могут быть вовлечены в непрерывную интеграцию базы данных, могут быть следующими:
Удаление базы данных — удаление базы данных и удаление связанных данных, чтобы вы могли создать новую базу данных с тем же именем
Создать новую базу данных — создать новую базу данных, используя язык определения данных (DDL).
Вставьте исходные данные — вставьте любые исходные данные (например, таблицы поиска), которые ваша система должна содержать при доставке.
Миграция базы данных и данных — Миграция схемы базы данных и данных на периодической основе (если вы создаете систему на основе существующей базы данных).
Изменить атрибуты столбца — Изменить атрибуты столбца таблицы и ограничения на основе требований и рефакторинга.
Изменить тестовые данные — Изменить тестовые данные по мере необходимости для нескольких сред.
Итак, в нашем примере с Continuous Database мы собираемся сделать следующие шаги:
-
Мы создадим базу данных MS SQL Server и соответствующую таблицу.
-
Мы создадим скрипт из SQL Server Management Studio. Этот скрипт базы данных будет использоваться для настройки нашей таблицы в базе данных.
-
Мы напишем код в нашем проекте ASP.Net для доступа к этой базе данных.
-
Мы создадим шаг в нашем проекте в TeamCity для запуска этого скрипта.
-
Мы проверим наш скрипт в Git.
Мы создадим базу данных MS SQL Server и соответствующую таблицу.
Мы создадим скрипт из SQL Server Management Studio. Этот скрипт базы данных будет использоваться для настройки нашей таблицы в базе данных.
Мы напишем код в нашем проекте ASP.Net для доступа к этой базе данных.
Мы создадим шаг в нашем проекте в TeamCity для запуска этого скрипта.
Мы проверим наш скрипт в Git.
Действия для этого в базе данных AWS, которая была создана в предыдущем разделе.
Шаг 1 — Создайте базу данных MS SQL Server и соответствующую таблицу. Давайте откроем SQL Server Management Studio и создадим простую базу данных и таблицу. Щелкните правой кнопкой мыши базы данных и выберите « Новая база данных» .
Шаг 2 — Назовите его как Demodb и нажмите OK
Шаг 3 — В новой базе данных щелкните правой кнопкой мыши и создайте новую таблицу.
Шаг 4 — Вы можете добавить нужные столбцы в таблицу.
Шаг 5 — Сохраните таблицу и назовите ее как Demotb .
Шаг 6 — Теперь щелкните правой кнопкой мыши по таблице и выберите пункт меню « Таблица сценариев», как → Удалить и Создать в → Файл .
Шаг 7 — Сохраните файл в папке демонстрационного проекта как Sample.sql .
Вот как будет выглядеть скрипт базы данных. Сначала будет удалена существующая таблица, если она есть, а затем воссоздана таблица.
USE [Demodb] GO /****** Object: Table [dbo].[Demotb] Script Date: 3/22/2016 7:03:25 AM ****** DROP TABLE [dbo].[Demotb] GO /****** Object: Table [dbo].[Demotb] Script Date: 3/22/2016 7:03:25 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Demotb]( [TutorialName] [nvarchar](max) NULL, [TutorialID] [smallint] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO
Шаг 8 — Теперь давайте быстро изменим наш код ASP.Net для ссылки на новую базу данных.
Шаг 9 — В файле Tutorial.cs в вашем демонстрационном проекте добавьте следующие строки кода. Эти строки кода подключатся к вашей базе данных, возьмут версию Сервера и сохранят имя версии в переменной Name. Мы можем отобразить эту переменную Name в нашем файле Demo.aspx.cs с помощью команды Response.write .
using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; using System.Web; namespace Simple { public class Tutorial { public String Name; public Tutorial() { string connectionString = "Data Source = WIN-50GP30FGO75; Initial Catalog = Demodb; Integrated Security = true;"; using (SqlConnection connection = new SqlConnection()) { connection.ConnectionString = connectionString; connection.Open(); Name = connection.ServerVersion; connection.Close(); } } } }
Шаг 10. Добавьте следующий код в файл Demo.aspx.cs, чтобы убедиться, что он отображает версию SQL Server.
using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace Simple { public partial class Demo : System.Web.UI.Page { Tutorial tp = new Tutorial(); protected void Page_Load(object sender, EventArgs e){ Response.Write(tp.Name); } } }
Теперь, если мы запустим код, вы получите следующий вывод в браузере.
Шаг 11 — Теперь давайте добавим наш шаг в TeamCity, который вызовет скрипт базы данных. Перейдите на панель управления проектом и нажмите « Изменить настройки конфигурации» .
Шаг 12 — Перейдите к шагу сборки и нажмите Добавить шаг сборки .
Выберите следующие параметры (обратите внимание, что клиент MS SQL Server должен быть установлен на сервере CI).
-
Тип бегуна должен быть Командная строка.
-
Укажите необязательное имя шага.
-
Run должен быть исполняемым с параметрами.
-
Исполняемый файл команды должен быть C: \ Program Files \ Microsoft SQL Server \ 110 \ Tools \ Binn \ sqlcmd.exe
-
Параметры команды должны быть -S WIN-50GP30FGO75 -i Sample.sql . Где –S — имя экземпляра SQL Server.
Тип бегуна должен быть Командная строка.
Укажите необязательное имя шага.
Run должен быть исполняемым с параметрами.
Исполняемый файл команды должен быть C: \ Program Files \ Microsoft SQL Server \ 110 \ Tools \ Binn \ sqlcmd.exe
Параметры команды должны быть -S WIN-50GP30FGO75 -i Sample.sql . Где –S — имя экземпляра SQL Server.
Шаг 13 — Нажмите Сохранить.
Теперь необходимо обеспечить порядок сборки. Вы должны убедиться, что порядок сборки следующий.
Шаг 14 — Вы можете изменить порядок сборки, выбрав опцию для изменения порядка сборки.
-
Настройка базы данных должна быть первой — поэтому она будет использоваться для восстановления вашей базы данных из свежих.
-
Далее идет сборка вашего приложения.
-
Наконец ваша тестовая настройка.
Настройка базы данных должна быть первой — поэтому она будет использоваться для восстановления вашей базы данных из свежих.
Далее идет сборка вашего приложения.
Наконец ваша тестовая настройка.
Шаг 15. Теперь запустите команды git add и git commit, чтобы файл Sample.sql был зарегистрирован в Git. Это запустит сборку автоматически. И эта сборка должна пройти.
Теперь у вас есть полноценный цикл сборки с непрерывным аспектом интеграции базы данных. В следующем разделе давайте продолжим и рассмотрим непрерывное развертывание.
Теперь, когда вы сделали это с локальным SQL Server, мы можем повторить те же шаги для AWS MS SQL Server, который был создан в одном из предыдущих разделов. Чтобы подключиться к Microsoft SQL Server, вам необходимо подключиться по следующему соглашению.
Шаг 16. Сначала посмотрите, какое имя присвоено экземпляру вашей базы данных в AWS. После входа в AWS перейдите в раздел RDS в разделе базы данных.
Шаг 17 — Нажмите на Экземпляры БД на следующем экране, который появляется.
Шаг 18 — Нажмите на вашу базу данных и запишите конечную точку. На следующем скриншоте это demodb.cypphcv1d87e.ap-southeast-1.rds.amazonaws.com:1433
Шаг 19. Теперь для подключения к базе данных из SQL Server Management Studio необходимо указать соединение как demodb.cypphcv1d87e.ap-southeast-1.rds.amazonaws.com, 1433 (обратите внимание на запятую, используемую между именем экземпляра и номером порта. ).
На следующем снимке экрана показано успешное подключение к базе данных.
Тогда вы можете повторить все те же шаги. Команда Sqlcmd будет выглядеть следующим образом:
Эту же команду можно заменить на этапе построения базы данных в TeamCity. Когда вы выполните команду sqlcmd , таблица будет автоматически создана в вашей базе данных SQL Server в AWS.