From personal experience, as well as everything I've read, NHibernate's SchemaUpdate doesn't support removing columns and tables. I'd like to use SchemaUpdate to generate migration DDL, but not having the deletes is making it more difficult. How do you get around this? Are there other tools that would help to keep the focus on the domain layer when making changes that affect the database?
Are there any tools out there that work like SchemaUpdate (where I could point the tool to my entities and current version of the database, and have it generate the change scripts)?
As one option, there are a few tools that use the Migration concept from ROR. Probably not as easy as you'd like, but you get the Up() and Down() concept for going forward / rolling back.
With a few tweaks I was able to get migratordotnet to work for a small project.
Also found a useful blog post here: http://benscheirman.com/2008/06/net-database-migration-tool-roundup, although it was written a while ago, hopefully some of the projects listed have come further since.
Here is the list from the above post:
- Migrator.NET
- RikMigrations
- Tarantino
- Machine Migrations
- Subsonic Migrations
- dbDeploy.NET