automated build and test (for continuous integration) - david atkinson - sql in the city 2013

32

Upload: red-gate-software

Post on 22-Jun-2015

254 views

Category:

Technology


0 download

DESCRIPTION

SQL In The City presentation from David Atkinson, Red Gate Software.The What, Why and How to automate your software build and test for continuous database integration.

TRANSCRIPT

Page 1: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013
Page 2: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013
Page 3: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013

1. Database objects/scripts aren’t in version control

2. Database objects/scripts are in version control

3. An automated build system exists to build and test the database

4. An automated release system is used to promote your database to your environments

Page 4: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013

1. Database objects/scripts aren’t in version control

2. Database objects/scripts are in version control

3. An automated build system exists to build and test the database

4. An automated release system is used to promote your database to your environments

Page 5: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013

1. Database objects/scripts aren’t in version control

2. Database objects/scripts are in version control

3. An automated build system exists to build and test the database

4. An automated release system is used to promote your database to your environments

Page 6: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013

1. Database objects/scripts aren’t in version control

2. Database objects/scripts are in version control

3. An automated build system exists to build and test the database

4. An automated release system is used to promote your database to your environments

Page 7: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013

1. Database objects/scripts aren’t in version control

2. Database objects/scripts are in version control

3. An automated build system exists to build and test the database

4. An automated release system is used to promote your database to your environments

Page 8: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013

1. Database objects/scripts aren’t in version control

2. Database objects/scripts are in version control

3. An automated build system exists to build test the database

4. An automated release system is used to promote your database to your environments

Page 9: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013
Page 10: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013
Page 11: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013

Page 12: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013

Page 13: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013

Page 14: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013
Page 15: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013

Page 16: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013
Page 17: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013

Page 18: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013
Page 19: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013

Custom Migration Scripts

An introduction

Page 20: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013

Generating a deployment script

1

12

Page 21: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013

How changes are made

1 2 3 4 5 6

modify procedure

create table

drop view

create trigger

delete column

Page 22: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013

1 2 3 4 5 6

modify procedure

create table

drop view

create trigger

delete column

7 8 9 10 11 12

modify trigger

create view

create procedure

create function

drop procedure

modify function

How changes are made

Page 23: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013

How SQL Compare sees the world

1

12

Page 24: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013

But not all changes can be inferred

1 2 3 4 5 6

7 8 9 10 11 12

table rename

column rename add NOT NULL

column without DEFAULT

split table

merge table

data transformation

data motion

merge column

split column

Page 25: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013

SQL Compare and SQL Source Control

support custom migration scripts

1 2 3 4 5 6

7 8 9 10 11 12

Custom migration script

Page 26: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013

Deployment script with migration

scripts

1

12

Page 27: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013

1

12

1’

Page 28: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013
Page 29: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013
Page 30: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013
Page 31: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013
Page 32: Automated Build and Test (for Continuous Integration) - David Atkinson - SQL In The City 2013