Учебники

Непрерывная интеграция — база данных

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

В интеграции баз данных, как правило, все артефакты, связанные с интеграцией базы данных —

  • Должен находиться в системе контроля версий.
  • Может быть проверен на строгость и проверен на соответствие политике.
  • Может быть сгенерирован с использованием ваших скриптов сборки.

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

Удаление базы данных — удаление базы данных и удаление связанных данных, чтобы вы могли создать новую базу данных с тем же именем

Создать новую базу данных — создать новую базу данных, используя язык определения данных (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

Теперь у вас есть полноценный цикл сборки с непрерывным аспектом интеграции базы данных. В следующем разделе давайте продолжим и рассмотрим непрерывное развертывание.

Теперь, когда вы сделали это с локальным SQL Server, мы можем повторить те же шаги для AWS MS SQL Server, который был создан в одном из предыдущих разделов. Чтобы подключиться к Microsoft SQL Server, вам необходимо подключиться по следующему соглашению.

Шаг 16. Сначала посмотрите, какое имя присвоено экземпляру вашей базы данных в AWS. После входа в AWS перейдите в раздел RDS в разделе базы данных.

Раздел 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 будет выглядеть следующим образом:

Sql cmd Command

Эту же команду можно заменить на этапе построения базы данных в TeamCity. Когда вы выполните команду sqlcmd , таблица будет автоматически создана в вашей базе данных SQL Server в AWS.