Database version control without pain - the PHPNW10 version
Database Version Control Without Pain
Harrie Verveer
PHPNW10 - Manchester - 9th October 2010
zaterdag 9 oktober 2010
Oh hai!
Harrie Verveer
aka Hairy
Dutchy
I live in Goes, which probably
sounds awkward to you
Software engineer at
ibuildings since 2004
Vlissingen (Flushing) office
2
zaterdag 9 oktober 2010
Branches
Trunk
patch-001.sql Branch A
create branch
patch-002.sql
patch-002.sql
patch-003.sql
Branch B
create branch
patch-003.sql
Merge
patch-004.sql patch-004.sql
patch-004.sql
patch-005.sql
patch-005.sql Merge
patch-005.sql
Merge
Merge
35
zaterdag 9 oktober 2010
Separate sequence
db/patches/trunk/ db/patches/branchA/
patch-001.sql patch-001.sql
patch-002.sql patch-002.sql
patch-003.sql
36
zaterdag 9 oktober 2010
Separate sequence
db/patches/trunk/ db/patches/branchA/
patch-001.sql patch-001.sql
patch-002.sql patch-002.sql
patch-003.sql
Trunk version 3
BranchA version 2
36
zaterdag 9 oktober 2010
Comparing tables
Table in DB 1 Table in DB 2
column 1 int column 1 int
column 2 varchar(255) column 2 varchar(255)
column 3 varchar(255) column 4 varchar(255)
42
zaterdag 9 oktober 2010
Comparing tables
Table in DB 1 Table in DB 2
id int id int
name varchar(255) name varchar(255)
city varchar(255) website varchar(255)
43
zaterdag 9 oktober 2010
Comparing tables
Table in DB 1 Table in DB 2
id int id int
firstname varchar(255) firstname varchar(255)
lname varchar(255) lastname varchar(255)
44
zaterdag 9 oktober 2010
To synchronize two database
structures without unexpected
dataloss, communicating all steps
needed to get from A to B is
inevitable.
45
zaterdag 9 oktober 2010
Akrabat DB Schema Manager
Zend Framework specific solution
69
zaterdag 9 oktober 2010
Akrabat DB Schema Manager
Zend Framework
Proposed by Rob Allen in 2006
Recently implemented
Might be in ZF in the near future
http://github.com/akrabat/Akrabat
70
zaterdag 9 oktober 2010
Akrabat DB Schema Manager
Zend Framework
Proposed by Rob Allen in 2006
Recently implemented
Might be in ZF in the near future
Might not be in ZF in the near future as well
http://github.com/akrabat/Akrabat
71
zaterdag 9 oktober 2010
Writing the patch
scripts/migrations/001-CreateUserTable.php
72
zaterdag 9 oktober 2010
Writing the patch
scripts/migrations/001-CreateUserTable.php
73
zaterdag 9 oktober 2010