Re: How do you version your database?
Arik Baratz <[email protected]> Thu, 5 May 2011 14:09:48 +1000
| Newsgroups | gmane.culture.hackers.israel |
|---|---|
| Message-ID | <[email protected]> |
--0015174c1ab887dda304a27f8c0c Content-Type: text/plain; charset=UTF-8 On Thu, May 5, 2011 at 1:26 PM, Omer Zak <w1-W6cp89mEpD1mR6Xm/[email protected]> wrote: > Troy Hunt details, in > http://www.troyhunt.com/2011/05/10-commandments-of-good-source-control.html, > ten good version control practices. > > Practice No. 7 is "Versioning your database isn't optional". > > I wonder how do people actually version their databases > We used to have a script that creates the entire database schema from scratch. Any DB change would be added to the script and checked in. Developers would use this script when building their environment etc. -- Arik --0015174c1ab887dda304a27f8c0c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/htm= l4/strict.dtd"> <html> <head> </head> <body style=3D"background-color: #fff;"> <span style=3D"display:none"> </span> <!--~-|**|PrettyHtmlStartT|**|-~--> <div id=3D"ygrp-mlmsg" style=3D"position:relative;"> <div id=3D"ygrp-msg" style=3D"z-index: 1;"> <!--~-|**|PrettyHtmlEndT|**|-~--> <div id=3D"ygrp-text" > =20=20=20=20=20=20 =20=20=20=20=20=20 <p><div dir=3D"ltr"><br><div class=3D"gmail_quote">On Thu, May 5, 201= 1 at 1:26 PM, Omer Zak <span dir=3D"ltr"><<a href=3D"mailto:w1-W6cp89mEpD1mR6Xm/[email protected]= ">w1-W6cp89mEpD1mR6Xm/[email protected]</a>></span> wrote:<br><blockquote class=3D"gmail_quote" s= tyle=3D"border-left:1px #ccc solid;"> Troy Hunt details, in<br> <a href=3D"http://www.troyhunt.com/2011/05/10-commandments-of-good-source-c= ontrol.html" target=3D"_blank">http://www.troyhunt.com/2011/05/10-commandme= nts-of-good-source-control.html</a>, ten good version control practices.<br= > <br> Practice No. 7 is "Versioning your database isn't optional".<= br> <br> I wonder how do people actually version their databases<br></blockquote><di= v>=C2=A0</div><div>We used to have a script that creates the entire databas= e schema from scratch. Any DB change would be added to the script and check= ed in. Developers would use this script when building their environment etc= .</div> <div><br></div><div>-- Arik</div></div></div> </p> </div> =20=20=20=20=20 <!--~-|**|PrettyHtmlStart|**|-~--> <div style=3D"color: #fff; height: 0;">__._,_.___</div> =20=20=20=20=20=20=20=20 =20=20 =20=20=20 <div id=3D"ygrp-actbar" style=3D"clear: both; margin-bottom: 10px; whit= e-space: nowrap; color: #666; padding-top: 15px;"> <div> <a href=3D"mailto:[email protected]?subject=3DRe%3A%20%5Bhacker= s-il%5D%20How%20do%20you%20version%20your%20database%3F" style=3D"margin-ri= ght: 0; padding-right: 0;"> Reply to <span style=3D"font-weight: 700;">sender</span></a> | <a href=3D"mailto:[email protected]?subject=3DRe%3A%20%5Bh= ackers-il%5D%20How%20do%20you%20version%20your%20database%3F"> Reply to <span style=3D"font-weight: 700;">group</span></a> | <a href=3D"http://groups.yahoo.com/group/hackers-il/post;_ylc=3D= X3oDMTJwYm9raGkyBF9TAzk3MzU5NzE0BGdycElkAzE4NTczMzIEZ3Jwc3BJZAMxNzA1MDA2NzY= 0BG1zZ0lkAzUxNTcEc2VjA2Z0cgRzbGsDcnBseQRzdGltZQMxMzA0NTY4NjE0?act=3Dreply&m= essageNum=3D5157">Reply <span style=3D"font-weight: 700;">via web post</spa= n></a> | <a href=3D"http://groups.yahoo.com/group/hackers-il/post;_ylc= =3DX3oDMTJla29oYTRhBF9TAzk3MzU5NzE0BGdycElkAzE4NTczMzIEZ3Jwc3BJZAMxNzA1MDA2= NzY0BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTMwNDU2ODYxNA--" style=3D"font-weight:= 700;">Start a New Topic</a> </div> <a href=3D"http://groups.yahoo.com/group/hackers-il/message= /5156;_ylc=3DX3oDMTM0ZDYyc3VwBF9TAzk3MzU5NzE0BGdycElkAzE4NTczMzIEZ3Jwc3BJZA= MxNzA1MDA2NzY0BG1zZ0lkAzUxNTcEc2VjA2Z0cgRzbGsDdnRwYwRzdGltZQMxMzA0NTY4NjE0B= HRwY0lkAzUxNTY-">Messages in this topic</a> (<span style=3D"font-weight: 700;">2</span>) </div>=20 <!------- Start Nav Bar ------> <!-- |**|begin egp html banner|**| --> <div id=3D"ygrp-vital" style=3D"background-color: #e0ecee; font-family: Ver= dana; font-size: 10px; margin-bottom: 10px; padding: 10px;"> <span id=3D"vithd" style=3D"font-weight: bold; color: #333; text-tran= sform: uppercase; ">Recent Activity:</span> <ul style=3D"list-style-type: none; margin: 0; padding: 0; display: inl= ine;"> </ul> =20=20=20=20 <div style=3D"clear: both; padding-top: 2px; color: #1e66ae;"> <a href=3D"http://groups.yahoo.com/group/hackers-il;_ylc=3DX3oDMTJldjk4= M3RoBF9TAzk3MzU5NzE0BGdycElkAzE4NTczMzIEZ3Jwc3BJZAMxNzA1MDA2NzY0BHNlYwN2dGw= Ec2xrA3ZnaHAEc3RpbWUDMTMwNDU2ODYxNA--" style=3D"text-decoration: none;">Vis= it Your Group</a> </div> </div> <div id=3D"ygrp-mkp" style=3D"border: 1px solid #d8d8d8; clea= r: both; float: left; font-family: Arial; margin: 5px 0 10px 0; padding: 0 = 10px;"> <div id=3D"hd" style=3D"color: #628c2a; font-size: 85%; font-weight: = 700; line-height: 122%; margin: 10px 0;">MARKETPLACE</div> <div id=3D"ads" style=3D"margin-bottom: 10px;"> <div class=3D"ad" style=3D"color: #628C2A; font-family: A= rial; font-weight: 700; padding: 0 0;"> <p><a href=3D"http://global.ard.yahoo.com/SIG=3D15o0gnvsg/M=3D4= 93064.14543977.14365476.10835568/D=3Dgroups/S=3D1705006764:MKP1/Y=3DYAHOO/E= XP=3D1304575814/L=3D93e1df2a-76cd-11e0-b24c-07b228faca79/B=3DT7auDtj8fbo-/J= =3D1304568614252339/K=3DTvP6FPfVZPX9IPBIXCu1tA/A=3D6260316/R=3D0/SIG=3D11bc= 8n8gt/*http://custom.yahoo.com/fibromyalgiazone/">Find useful articles and = helpful tips on living with Fibromyalgia. Visit the Fibromyalgia Zone today= !</a></p><script language=3Djavascript> if(window.yzq_d=3D=3Dnull)window.yzq_d=3Dnew Object(); window.yzq_d['T7auDtj8fbo-']=3D'&U=3D13c8i685g%2fN%3dT7auDtj8fbo-%2fC%3d493= 064.14543977.14365476.10835568%2fD%3dMKP1%2fB%3d6260316%2fV%3d1'; </script><noscript><img width=3D1 height=3D1 alt=3D"" src=3D"http://us.bc.y= ahoo.com/b?P=3D93e1df2a-76cd-11e0-b24c-07b228faca79&T=3D1d9ldjv0a%2fX%3d130= 4568614%2fE%3d1705006764%2fR%3dgroups%2fK%3d5%2fV%3d2.1%2fW%3dH%2fY%3dYAHOO= %2fF%3d2494488020%2fH%3dY29udGVudD0iR287UG9kY2FzdHM7V2Vic2l0ZV9TZXJ2aWNlczt= XaWRnZXRzO1lhaG9vX1NlYXJjaF9NYXJrZXRpbmc7RmxpY2tyO0JyaWVmY2FzZTtGaW5hbmNlO0= Jvb2ttYXJrO01vYmlsZTsiIGRpc2FibGVzaHVmZmxpbmc9IjEiIHNlcnZlSWQ9IjkzZTFkZjJhL= Tc2Y2QtMTFlMC1iMjRjLTA3YjIyOGZhY2E3OSIgc2l0ZUlkPSI0NDUyNTUxIiB0U3RtcD0iMTMw= NDU2ODYxNDI1NDUwNCIg%2fQ%3d-1%2fS%3d1%2fJ%3d25228962&U=3D13c8i685g%2fN%3dT7= auDtj8fbo-%2fC%3d493064.14543977.14365476.10835568%2fD%3dMKP1%2fB%3d6260316= %2fV%3d1"></noscript> </div> <div class=3D"ad" style=3D"color: #628C2A= ; font-family: Arial; font-weight: 700; padding: 0 0;"> <hr style=3D"border: 1px solid #d8d8d8;"> <p><a href=3D"http://global.ard.yahoo.com/SIG=3D15o= 3tvu2v/M=3D493064.14543979.14365478.13298430/D=3Dgroups/S=3D1705006764:MKP1= /Y=3DYAHOO/EXP=3D1304575814/L=3D93e1df2a-76cd-11e0-b24c-07b228faca79/B=3DTr= auDtj8fbo-/J=3D1304568614252339/K=3DTvP6FPfVZPX9IPBIXCu1tA/A=3D6060255/R=3D= 0/SIG=3D1194m4keh/*http://us.toolbar.yahoo.com/?.cpdl=3Dgrpj">Stay on top o= f your group activity without leaving the page you're on - Get the Yahoo! T= oolbar now.</a></p> <script language=3Djavascript> if(window.yzq_d=3D=3Dnull)window.yzq_d=3Dnew Object(); window.yzq_d['TrauDtj8fbo-']=3D'&U=3D13ca2i585%2fN%3dTrauDtj8fbo-%2fC%3d493= 064.14543979.14365478.13298430%2fD%3dMKP1%2fB%3d6060255%2fV%3d1'; </script><noscript><img width=3D1 height=3D1 alt=3D"" src=3D"http://us.bc.y= ahoo.com/b?P=3D93e1df2a-76cd-11e0-b24c-07b228faca79&T=3D1d92nfm4a%2fX%3d130= 4568614%2fE%3d1705006764%2fR%3dgroups%2fK%3d5%2fV%3d2.1%2fW%3dH%2fY%3dYAHOO= %2fF%3d1220233247%2fH%3dY29udGVudD0iR287UG9kY2FzdHM7V2Vic2l0ZV9TZXJ2aWNlczt= XaWRnZXRzO1lhaG9vX1NlYXJjaF9NYXJrZXRpbmc7RmxpY2tyO0JyaWVmY2FzZTtGaW5hbmNlO0= Jvb2ttYXJrO01vYmlsZTsiIGRpc2FibGVzaHVmZmxpbmc9IjEiIHNlcnZlSWQ9IjkzZTFkZjJhL= Tc2Y2QtMTFlMC1iMjRjLTA3YjIyOGZhY2E3OSIgc2l0ZUlkPSI0NDUyNTUxIiB0U3RtcD0iMTMw= NDU2ODYxNDI1NDUwNCIg%2fQ%3d-1%2fS%3d1%2fJ%3d25228962&U=3D13ca2i585%2fN%3dTr= auDtj8fbo-%2fC%3d493064.14543979.14365478.13298430%2fD%3dMKP1%2fB%3d6060255= %2fV%3d1"></noscript> </div> </div> </div> =20=20 <div id=3D"ft" style=3D"font-family: Arial; font-size: 11px; margin-top: 5p= x; padding: 0 2px 0 0; clear: both;"> <a href=3D"http://groups.yahoo.com/;_ylc=3DX3oDMTJkMm5lOGVtBF9TAzk3NDc2NT= kwBGdycElkAzE4NTczMzIEZ3Jwc3BJZAMxNzA1MDA2NzY0BHNlYwNmdHIEc2xrA2dmcARzdGltZ= QMxMzA0NTY4NjE0" style=3D"float: left;"><img src=3D"http://l.yimg.com/a/i/u= s/yg/logo/us.gif" height=3D"15" width=3D"137" alt=3D"Yahoo! Groups" style= =3D"border: 0;"/></a> <div style=3D"color: #747575; float: right;">Switch to: <a href=3D"mailto= :[email protected]?subject=3DChange Delivery Format: T= raditional" style=3D"text-decoration: none;">Text-Only</a>, <a href=3D"mail= to:[email protected]?subject=3DEmail Delivery: Digest" clas= s=3D"margin-rt" style=3D"text-decoration: none;">Daily Digest</a> • <a= href=3D"mailto:[email protected]?subject=3DUnsubscrib= e" style=3D"text-decoration: none;">Unsubscribe</a> • <a href=3D"http:= //docs.yahoo.com/info/terms/" style=3D"text-decoration: none;">Terms of Use= </a></div> </div> <!-- |**|end egp html banner|**| --> </div> <!-- ygrp-msg --> <!-- Sponsor --> <!-- |**|begin egp html banner|**| --> <div id=3D"ygrp-sponsor" style=3D"width:160px; float:right; clear:none; m= argin:0 0 25px 0; background: #fff;"> <!-- Start Recommendations --> <div id=3D"ygrp-reco"> </div> <!-- End Recommendations --> </div> <!-- |**|end egp html banner|**| --> <div style=3D"clear:both; color: #FFF; font-size:1px;">.</div> </div> <img src=3D"http://geo.yahoo.com/serv?s=3D97359714/grpId=3D1857332/grpspI= d=3D1705006764/msgId=3D5157/stime=3D1304568614/nc1=3D5898818/nc2=3D3848643/= nc3=3D4507179" width=3D"1" height=3D"1"> <br> <div style=3D"color: #fff; height: 0;">__,_._,___</div> <!--~-|**|PrettyHtmlEnd|**|-~--> </body> <!--~-|**|PrettyHtmlStart|**|-~--> <head> <style type=3D"text/css"> <!-- #ygrp-mkp { border: 1px solid #d8d8d8; font-family: Arial; margin: 10px 0; padding: 0 10px; } #ygrp-mkp hr { border: 1px solid #d8d8d8; } #ygrp-mkp #hd { color: #628c2a; font-size: 85%; font-weight: 700; line-height: 122%; margin: 10px 0; } #ygrp-mkp #ads { margin-bottom: 10px; } #ygrp-mkp .ad { padding: 0 0; } #ygrp-mkp .ad p { margin: 0; } #ygrp-mkp .ad a { color: #0000ff; text-decoration: none; } #ygrp-sponsor #ygrp-lc { font-family: Arial; } #ygrp-sponsor #ygrp-lc #hd { margin: 10px 0px; font-weight: 700; font-size: 78%; line-height: 122%; } #ygrp-sponsor #ygrp-lc .ad { margin-bottom: 10px; padding: 0 0; } a { color: #1e66ae; } #actions { font-family: Verdana; font-size: 11px; padding: 10px 0; } #activity { background-color: #e0ecee; float: left; font-family: Verdana; font-size: 10px; padding: 10px; } #activity span { font-weight: 700; } #activity span:first-child { text-transform: uppercase; } #activity span a { color: #5085b6; text-decoration: none; } #activity span span { color: #ff7900; } #activity span .underline { text-decoration: underline; } .attach { clear: both; display: table; font-family: Arial; font-size: 12px; padding: 10px 0; width: 400px; } .attach div a { text-decoration: none; } .attach img { border: none; padding-right: 5px; } .attach label { display: block; margin-bottom: 5px; } .attach label a { text-decoration: none; } =20=20 blockquote { margin: 0 0 0 4px; } .bold { font-family: Arial; font-size: 13px; font-weight: 700; } .bold a { text-decoration: none; } dd.last p a { font-family: Verdana; font-weight: 700; } dd.last p span { margin-right: 10px; font-family: Verdana; font-weight: 700; } dd.last p span.yshortcuts { margin-right: 0; } div.attach-table div div a { text-decoration: none; } div.attach-table { width: 400px; } div.file-title a, div.file-title a:active, div.file-title a:hover, div.fi= le-title a:visited { text-decoration: none; } div.photo-title a, div.photo-title a:active, div.photo-title a:hover, div= .photo-title a:visited { text-decoration: none; } div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts { font-family: Verdana; font-size: 10px; font-weight: normal; } .green { color: #628c2a; } .MsoNormal { margin: 0 0 0 0; } o { font-size: 0; } #photos div { float: left; width: 72px; } #photos div div { border: 1px solid #666666; height: 62px; overflow: hidden; width: 62px; } #photos div label { color: #666666; font-size: 10px; overflow: hidden; text-align: center; white-space: nowrap; width: 64px; } #reco-category { font-size: 77%; } #reco-desc { font-size: 77%; } .replbq { margin: 4px; } #ygrp-actbar div a:first-child { /* border-right: 0px solid #000;*/ margin-right: 2px; padding-right: 5px; } #ygrp-mlmsg { font-size: 13px; font-family: Arial, helvetica,clean, sans-serif; *font-size: small; *font: x-small; } #ygrp-mlmsg table { font-size: inherit; font: 100%; } #ygrp-mlmsg select, input, textarea { font: 99% Arial, Helvetica, clean, sans-serif; } #ygrp-mlmsg pre, code { font:115% monospace; *font-size:100%; } #ygrp-mlmsg * { line-height: 1.22em; } #ygrp-mlmsg #logo { padding-bottom: 10px; } #ygrp-mlmsg a { color: #1E66AE; } #ygrp-msg p a { font-family: Verdana; } #ygrp-msg p#attach-count span { color: #1E66AE; font-weight: 700; } #ygrp-reco #reco-head { color: #ff7900; font-weight: 700; } #ygrp-reco { margin-bottom: 20px; padding: 0px; } #ygrp-sponsor #ov li a { font-size: 130%; text-decoration: none; } #ygrp-sponsor #ov li { font-size: 77%; list-style-type: square; padding: 6px 0; }=20 #ygrp-sponsor #ov ul { margin: 0; padding: 0 0 0 8px; } #ygrp-text { font-family: Georgia; } #ygrp-text p { margin: 0 0 1em 0; } #ygrp-text tt { font-size: 120%; } #ygrp-vital ul li:last-child { border-right: none !important;=20 }=20 --> </style> </head> <!--~-|**|PrettyHtmlEnd|**|-~--> </html> <!-- end group email --> --0015174c1ab887dda304a27f8c0c--