Ik merk regelmatig dat we bij het publishen van een .Net-(web)applicatie naar een andere server (zoals de live of testserver) regelmatig tegen de zelfde problemen aanlopen. Het feit dat verschillende servers verschillende settings kunnen hebben, hebben we redelijk getackeld. Maar de achilleshiel van het hele systeem is de database. Wat gewoon heel vaak gebeurt is dat developer A een publish doet en dan blijkt dat developer B in een obscuur tabelletje nog een kolommetje heeft toegevoegd, of een stored procedure is aangepast of toegevoegd, etcetera. Bij de software zelf ondervang je dat door een bepaalde vorm van source control, maar dat heb je niet in die vorm bij databases. Ook loop je tegen problemen aan als de doeldatabase al live data bevat.
Voor mij zou de ideale procedure er als volgt uit zien:
- Een vergelijking van alle objecten in de database zowel qua structuur als inhoud
- Aangeven wat je wilt overschrijven / toevoegen / verwijderen (nieuwe sprocs, nieuwe tabellen, oude tabellen er uit)
- Aanpassen van bepaalde tabellen (kolom er bij of er af of nieuwe foreign key bijvoorbeeld) en hoe dat te doen (eerst leeggooien, dummy waardes in nieuwe verplichte kolommen, etc.)
- Kopieren van gegevens (inhoud van steuntabellen bijvoorbeeld)
- Nogmaals vergelijken qua structuur en inhoud om te zien of het klopt
SQL Manager biedt naar mijn weten geen echte mogelijkheid om databases te vergelijken, laat staan op een gracieuze manier een upgrade te doen, zeker als er al data in zit. Er zijn wel een shitload een 3rd party tools maar voordat ik die allemaal geïnstalleerd en getest heb. En ik weet ook niet precies hoe alle features genoemd worden die ik zoek.
Wie heeft er wat meer ervaring mee?
Voor mij zou de ideale procedure er als volgt uit zien:
- Een vergelijking van alle objecten in de database zowel qua structuur als inhoud
- Aangeven wat je wilt overschrijven / toevoegen / verwijderen (nieuwe sprocs, nieuwe tabellen, oude tabellen er uit)
- Aanpassen van bepaalde tabellen (kolom er bij of er af of nieuwe foreign key bijvoorbeeld) en hoe dat te doen (eerst leeggooien, dummy waardes in nieuwe verplichte kolommen, etc.)
- Kopieren van gegevens (inhoud van steuntabellen bijvoorbeeld)
- Nogmaals vergelijken qua structuur en inhoud om te zien of het klopt
SQL Manager biedt naar mijn weten geen echte mogelijkheid om databases te vergelijken, laat staan op een gracieuze manier een upgrade te doen, zeker als er al data in zit. Er zijn wel een shitload een 3rd party tools maar voordat ik die allemaal geïnstalleerd en getest heb. En ik weet ook niet precies hoe alle features genoemd worden die ik zoek.
Wie heeft er wat meer ervaring mee?
iOS developer