Database version control without pain - the PHP Barcelona version
-
Upload
harrie-verveer -
Category
Technology
-
view
7.013 -
download
2
description
Transcript of Database version control without pain - the PHP Barcelona version
![Page 1: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/1.jpg)
PHP Barcelona Conference - 30th October 2010Harrie Verveer
Database Version Control Without Pain
zaterdag 30 oktober 2010
![Page 2: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/2.jpg)
Oh hai!
2
Harrie Verveeraka Hairy
DutchyI live in a town called “Goes”
Software engineer at ibuildings since 2004Vlissingen (Flushing) office
zaterdag 30 oktober 2010
![Page 3: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/3.jpg)
http://www.mediawiki.org/wiki/File:Europe_satellite_orthographic.jpghttp://www.mediawiki.org/wiki/File:Europe_satellite_orthographic.jpg
zaterdag 30 oktober 2010
![Page 4: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/4.jpg)
zaterdag 30 oktober 2010
![Page 5: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/5.jpg)
zaterdag 30 oktober 2010
![Page 6: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/6.jpg)
zaterdag 30 oktober 2010
![Page 7: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/7.jpg)
zaterdag 30 oktober 2010
![Page 8: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/8.jpg)
zaterdag 30 oktober 2010
![Page 9: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/9.jpg)
zaterdag 30 oktober 2010
![Page 10: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/10.jpg)
zaterdag 30 oktober 2010
![Page 11: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/11.jpg)
Database Version ControlWhat’s the problem?
8zaterdag 30 oktober 2010
![Page 12: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/12.jpg)
http://www.sxc.hu/photo/1207911
zaterdag 30 oktober 2010
![Page 13: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/13.jpg)
http
://en
.wik
iped
ia.o
rg/w
iki/F
ile:S
TS1
20La
unch
HiR
es.jp
g
zaterdag 30 oktober 2010
![Page 14: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/14.jpg)
http://www.flickr.com/photos/kt/1217157/
zaterdag 30 oktober 2010
![Page 15: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/15.jpg)
http://www.sxc.hu/photo/1255121
zaterdag 30 oktober 2010
![Page 16: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/16.jpg)
Why Database Version Control
13zaterdag 30 oktober 2010
![Page 17: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/17.jpg)
Simple Patching Strategy
14
The basic idea
zaterdag 30 oktober 2010
![Page 18: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/18.jpg)
Simple patching strategy
15zaterdag 30 oktober 2010
![Page 19: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/19.jpg)
Example patch file
16
patch-001.sql
zaterdag 30 oktober 2010
![Page 20: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/20.jpg)
http://www.sxc.hu/photo/314594
zaterdag 30 oktober 2010
![Page 21: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/21.jpg)
Simple patching strategy
18
Development
Write codeWrite DB patches
Apply patches to own DB
Update
Apply patches Commit
zaterdag 30 oktober 2010
![Page 22: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/22.jpg)
Fixing patches
19
patch-002.sql
zaterdag 30 oktober 2010
![Page 23: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/23.jpg)
Fixing patches
19
patch-002.sql
zaterdag 30 oktober 2010
![Page 24: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/24.jpg)
Fixing patches
19
patch-002.sql
zaterdag 30 oktober 2010
![Page 25: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/25.jpg)
Fixing patches
20
patch-003.sql
zaterdag 30 oktober 2010
![Page 26: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/26.jpg)
Fixing patches
20
patch-003.sql
Never modify a patch file onceit’s under version control
zaterdag 30 oktober 2010
![Page 27: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/27.jpg)
Undo patch files
21
undo-001.sql
zaterdag 30 oktober 2010
![Page 28: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/28.jpg)
http://www.freefoto.com/preview/41-07-7zaterdag 30 oktober 2010
![Page 29: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/29.jpg)
Bonus points
Install.sql
23zaterdag 30 oktober 2010
![Page 30: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/30.jpg)
Bonus points
Initial dummy content
24zaterdag 30 oktober 2010
![Page 31: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/31.jpg)
http://www.sxc.hu/photo/643214
zaterdag 30 oktober 2010
![Page 32: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/32.jpg)
http://www.sxc.hu/photo/946855
zaterdag 30 oktober 2010
![Page 33: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/33.jpg)
Automating the processFaster & Safer
27zaterdag 30 oktober 2010
![Page 34: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/34.jpg)
Typical patch script
28zaterdag 30 oktober 2010
![Page 35: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/35.jpg)
Typical patch script
29
update.sh
zaterdag 30 oktober 2010
![Page 36: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/36.jpg)
BranchesMerge problems
30zaterdag 30 oktober 2010
![Page 37: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/37.jpg)
Branches
31
Trunk
patch-001.sql
patch-002.sql
patch-003.sql
zaterdag 30 oktober 2010
![Page 38: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/38.jpg)
Trunk
patch-001.sql
patch-002.sql
patch-003.sql
create branch
patch-004.sql
patch-005.sqlpatch-004.sql
patch-005.sql
Branch A
Merge
Branches
32zaterdag 30 oktober 2010
![Page 39: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/39.jpg)
Trunk
patch-001.sql
patch-002.sql
patch-003.sql
create branch
patch-004.sql
patch-005.sqlpatch-004.sql
patch-005.sql
Branch A
Merge
Branches
32
patch-006.sql
patch-007.sql
zaterdag 30 oktober 2010
![Page 40: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/40.jpg)
Branches
33
Trunk
patch-001.sql
patch-002.sql
patch-003.sql
create branch
patch-004.sql
patch-005.sql
patch-004.sql
patch-005.sql
Branch B
create branch
patch-002.sql
patch-003.sql
Branch A
Merge
patch-004.sql
Merge
patch-005.sql
Merge
Merge
zaterdag 30 oktober 2010
![Page 41: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/41.jpg)
Separate sequence
db/patches/trunk/
patch-001.sqlpatch-002.sqlpatch-003.sql
34
db/patches/branchA/
patch-001.sqlpatch-002.sql
zaterdag 30 oktober 2010
![Page 42: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/42.jpg)
Separate sequence
db/patches/trunk/
patch-001.sqlpatch-002.sqlpatch-003.sql
34
db/patches/branchA/
patch-001.sqlpatch-002.sql
Trunk version 3BranchA version 2
zaterdag 30 oktober 2010
![Page 43: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/43.jpg)
Patchfile naming
35
patch_20100611_1430.sql
zaterdag 30 oktober 2010
![Page 44: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/44.jpg)
Patch log
36zaterdag 30 oktober 2010
![Page 45: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/45.jpg)
http://www.sxc.hu/photo/692740
zaterdag 30 oktober 2010
![Page 46: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/46.jpg)
There is no silver bulletWhy it can’t exist
38zaterdag 30 oktober 2010
![Page 47: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/47.jpg)
http://www.flickr.com/photos/eschipul/4160817135/
zaterdag 30 oktober 2010
![Page 48: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/48.jpg)
Comparing tables
40
Table in DB 1Table in DB 1
column 1 int
column 2 varchar(255)
column 3 varchar(255)
Table in DB 2Table in DB 2
column 1 int
column 2 varchar(255)
column 4 varchar(255)
zaterdag 30 oktober 2010
![Page 49: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/49.jpg)
Comparing tables
41
Table in DB 1Table in DB 1
id int
name varchar(255)
city varchar(255)
Table in DB 2Table in DB 2
id int
name varchar(255)
website varchar(255)
zaterdag 30 oktober 2010
![Page 50: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/50.jpg)
Comparing tables
42
Table in DB 1Table in DB 1
id int
firstname varchar(255)
lname varchar(255)
Table in DB 2Table in DB 2
id int
firstname varchar(255)
lastname varchar(255)
zaterdag 30 oktober 2010
![Page 51: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/51.jpg)
43
To synchronize two database structures without unexpected
dataloss, communicating all steps needed to get from A to B is
inevitable.
zaterdag 30 oktober 2010
![Page 52: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/52.jpg)
Phing & DB Deploy
44zaterdag 30 oktober 2010
![Page 53: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/53.jpg)
Phing & DB Deploy
45Cartoon by Oliver Widder - http://geekandpoke.typepad.com/zaterdag 30 oktober 2010
![Page 55: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/55.jpg)
Phing
47zaterdag 30 oktober 2010
![Page 56: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/56.jpg)
48zaterdag 30 oktober 2010
![Page 57: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/57.jpg)
DB Deploy
49zaterdag 30 oktober 2010
![Page 58: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/58.jpg)
Phing & DB Deploy
50zaterdag 30 oktober 2010
![Page 59: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/59.jpg)
DB Deploy
51
db/patches/1-create_user_table.sql
zaterdag 30 oktober 2010
![Page 60: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/60.jpg)
DB Deploy
52
changelog table:
zaterdag 30 oktober 2010
![Page 61: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/61.jpg)
DB Deploy
52
changelog table:
zaterdag 30 oktober 2010
![Page 62: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/62.jpg)
DB Deploy
53
PHP
zaterdag 30 oktober 2010
![Page 63: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/63.jpg)
DB Deploy
54
SQL
zaterdag 30 oktober 2010
![Page 64: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/64.jpg)
DB Deploy
55
Features
zaterdag 30 oktober 2010
![Page 65: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/65.jpg)
LiquibaseThe most complete solution I know
56zaterdag 30 oktober 2010
![Page 66: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/66.jpg)
Liquibase
57
www.liquibase.org
zaterdag 30 oktober 2010
![Page 67: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/67.jpg)
Liquibase
58zaterdag 30 oktober 2010
![Page 68: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/68.jpg)
Liquibase
59zaterdag 30 oktober 2010
![Page 69: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/69.jpg)
Liquibase
60zaterdag 30 oktober 2010
![Page 70: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/70.jpg)
Liquibase
Updating
Reverting
Tagging
Generate XML
Diff
61zaterdag 30 oktober 2010
![Page 71: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/71.jpg)
http://www.sxc.hu/photo/1241520
zaterdag 30 oktober 2010
![Page 72: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/72.jpg)
Liquibase
Branches
63zaterdag 30 oktober 2010
![Page 73: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/73.jpg)
Liquibase
DBMS Support
64zaterdag 30 oktober 2010
![Page 74: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/74.jpg)
Liquibase
Documentation
65zaterdag 30 oktober 2010
![Page 75: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/75.jpg)
Liquibase
Java
66zaterdag 30 oktober 2010
![Page 76: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/76.jpg)
Akrabat DB Schema ManagerZend Framework specific solution
67zaterdag 30 oktober 2010
![Page 77: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/77.jpg)
Akrabat DB Schema Manager
Zend Framework
Proposed by Rob Allen in 2006
Recently implemented
http://github.com/akrabat/Akrabat
68zaterdag 30 oktober 2010
![Page 78: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/78.jpg)
Writing the patch
69
scripts/migrations/001-CreateUserTable.php
zaterdag 30 oktober 2010
![Page 79: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/79.jpg)
Writing the patch
70
scripts/migrations/001-CreateUserTable.php
zaterdag 30 oktober 2010
![Page 80: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/80.jpg)
Akrabat DB Schema Manager
PHP Patches
71zaterdag 30 oktober 2010
![Page 81: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/81.jpg)
Akrabat DB Schema Manager
Easy syntax if you know ZF
72zaterdag 30 oktober 2010
![Page 82: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/82.jpg)
Akrabat DB Schema Manager
Easy to install, easy to use
73zaterdag 30 oktober 2010
![Page 83: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/83.jpg)
Akrabat DB Schema Manager
Easy to install, easy to use
73zaterdag 30 oktober 2010
![Page 84: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/84.jpg)
Akrabat DB Schema Manager
Branch merging
74zaterdag 30 oktober 2010
![Page 85: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/85.jpg)
Doctrine MigrationsDoctrine ORM specific solution
75zaterdag 30 oktober 2010
![Page 86: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/86.jpg)
Doctrine Migrations
76
http://www.doctrine-project.org/
zaterdag 30 oktober 2010
![Page 87: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/87.jpg)
Doctrine Migrations Patch
77zaterdag 30 oktober 2010
![Page 88: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/88.jpg)
Doctrine Migrations
78
Update-to-version
./doctrine migrate
zaterdag 30 oktober 2010
![Page 89: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/89.jpg)
YAML
79zaterdag 30 oktober 2010
![Page 90: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/90.jpg)
YAML
79
./doctrine generate-migrations-diff
zaterdag 30 oktober 2010
![Page 91: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/91.jpg)
Doctrine Migrations
80zaterdag 30 oktober 2010
![Page 92: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/92.jpg)
Doctrine Migrations
81
Generate patches
zaterdag 30 oktober 2010
![Page 93: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/93.jpg)
Doctrine Migrations
82
Useful if you’re already using Doctrine ORM
zaterdag 30 oktober 2010
![Page 94: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/94.jpg)
Summary
83zaterdag 30 oktober 2010
![Page 95: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/95.jpg)
Summary
Patchfiles• Automating
• Branch merging
• Why there is no silver bullet
Phing + DB Deployhttp://phing.infohttp://dbdeploy.com
Liquibasehttp://www.liquibase.org
84
Akrabat DB Schema Managerhttp://akrabat.comhttp://github.com/akrabat/Akrabat
Doctrine Migrationshttp://www.doctrine-project.org
zaterdag 30 oktober 2010
![Page 96: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/96.jpg)
Questions ?
85zaterdag 30 oktober 2010
![Page 97: Database version control without pain - the PHP Barcelona version](https://reader033.fdocuments.net/reader033/viewer/2022052522/54834116b4af9f910d8b4957/html5/thumbnails/97.jpg)
86
Contact me
Harrie VerveerSoftware Engineer at Ibuildings
Blog:www.harrieverveer.com
E-mail:[email protected]
Skype:harrie-ibuildings
Twitter:@harrieverveer
zaterdag 30 oktober 2010