570 likes | 718 Vues
Database Migration in .NET. Continuous Database Evolution. story. 3. Claire Bennet : Database Administrator + Neat freak + Former cheerleader. Hiro Nakamura: Software developer + Haphazard + Addicted to manga. Mohinder Suresh:
E N D
Database Migration in .NET Continuous Database Evolution
Claire Bennet: Database Administrator + Neat freak + Former cheerleader
Hiro Nakamura: Software developer + Haphazard + Addicted to manga
Mohinder Suresh: Software tester (PhD) + Detail-oriented + Efficiency expert
I’ll just update the shared database to be more consistent with the domain model
Hiro! I just upgraded the test database with that script that you gave me last week, but it doesn’t seem to be working. How do I know if the script has been applied correctly?
#1 Changes to shared database are immediately available to everyone (whether they want them or not)
#2 Claire couldn’t easily see what had changed to the database
#3 Suresh was applying database scripts one week after they were available
#4 Hiro had no way to see if database changes were applied successfully
Changes to shared database are immediately available to everyone (whether they want them or not) Separate database instances
Claire couldn’t easily see what had changed to the database All database changes are under sourcecontrol
Suresh was applying database scripts one week after they were available Automate database migration
Hiro had no way to see if database changes were applied successfully Version all database changes
dbDeploy.NET* http://dbdeploy.com
Tarantino • http://code.google.com/p/tarantino/
Migrator.NET • http://code.google.com/p/migratordotnet/
dbDeploy.NET Pro: Con: • Simple • Supports SqlServer, Oracle, Sybase, HSQL, MySql • DBA-friendly • Needs better dev environment support
Tarantino Pro: Con: • Easy to get started • Automates most dev db tasks • No control over version numbers • SQL Server-specific • Rebaselining? • Requires NAnt
Migrator.NET Pro: Con: • Easy to get started • Cross-database support • Supports SqlServer, Oracle, MySql, Postgres • Data migration • Developer-specific • No way to easily capture SQL