Jämnföra databasscheman och hålla ordning på versioner

När man utvecklar en webbapplikation (eller andra typer av program för den delen också) så är det ofta en stor utmaning att hålla strukturen på databaserna likadan. Man gör ändringar i sin orginalmodell och försöker ändra alla de databaser som är i drift enligt bästa förmåga. Hittills har jag inte haft något speciellt bra sätt att göra detta på utan det slutar ofta med felsökning steg för steg och ändra databasen manuellt. Tänkte här skriva om några sätt som kan förenkla detta jobb.

Lägga in databasskripten i källkodsprojektet

Ett sätt är att skripta ut hela databasen och sedan inkludera skripten i källkodsprojektet som Coding Horror förklarar. Inte helt på det klara om detta kan hjälpa en för att uppdatera befintliga databaser, men att ha strukturen i kod är ju ett bra första steg.

Använda sig av databas-migrering

Detta är ett koncept som funnits länge i Ruby On Rails-världen och innebär att varje förändring i databasen sparar i uppdateringsskript som man kan köra på sina databaser. 

Subsonic-teamet har nyligen inspirerats av Rails och lagt in liknande Migrations-funktionalitet i Subsonic. Har provat detta lite under sommaren och även fast det är väldigt ny teknik så verkar det fungera mycket bra.

Program för att Jämnföra databasscheman

Detta sätt tycker jag är det mest bekväma och innebär minst jobb. Man utgår helt enkels från sin orginalstruktur för databasen och jämför denna med de databaser som ska uppgraderas.

Denna funktionallitet finns i Visual Studio men bara i team-edition så den har jag inte testat själv. Verkar fungera fint och jag kan rekommendera läsning hos Emad Ibrahim som har provat på det.

Det smidigaste programmet som jag har provat är dock utan tvekan Redgate SQL Compare. Att jämföra två databaser går på nån minut och man får sedan SQL Skript redo att köra på den databas som ska uppgraderas. Har bara provat testversionen men funderar skarpt på att göra en investering i en licens.

Om du har några erfarenheter om hur man kan göra version-hantering av databaser lättare, så uppskattas kommentarer.

Comments

Jag jobbar med dessa verktyg för Microsoft. Som sagt, vi har en helt ny roll i Visual Studio som ger den här möjligheten. Några av huvudfunktionerna i det verktygen är: * Källkodshantering av scheman * Schema compare för att skapa change scripts * Generera testdata * Refaktoring * Enhetstester på SP och dylikt. Mer info här: http://msdn.microsoft.com/sv-se/vsts2008/db/default(en-us).aspx /dag
Hej Dag, och tack så mycket för informationen. Det visste jag inte att ni har den nya versionen "Database Edition". Trodde att funktionaliteten bara fanns i team edition. Har inte koll på prissättningen, men när jag tidigare har kollat på dessa mer avancerade versioner av VS så har det varit för dyra för oss. Men hoppas vi kan få möjlighet att köpa riktig version i framtiden.

thanks for shearing this post .thank you. http://www.onlinepromotionuae.ae

Great post. Thanks for sharing.

Web Designing Company in Houston

amazing post for sharing a good website with us...... www.andamandiscover.com"> www.andamandiscover.comlink text

This is my first time i visit here. I found so many entertaining stuff in your blog,especially its discussion. HP Help Number UK HP Support Number UK HP Computer Helpline Number UK

this is outstanding and great post! i really like it. thank you so much. kaspersky technical support number

very very nice article, thanks for the sharing with us.

mcafee phone number uk

Hi, Thanks for the sharing nice posting with us. i am really impressed.
We are offering a new and latest laptop support. dell support number

This is my first time to visit here. I found so many entertaining stuff in your blog, especially its discussion like laptop support. dell support number

Nice post, When you face some issue with your HP Computer then contact technicians atlaptop Technical experts will provide you assistance to resolve the issue.

kaspersky antivirus toll free number

This is my first time to visit here. I found so many entertaining stuff in your blog, especially its discussion Hotmail Customer Service phone number

Nice post, When you face some issue with your HP Computer then contact technicians atlaptop Technical experts will provide you assistance to resolve the issue.

Hotmail Customer Service phone number

Please fill out all the fields.

*
*