2

The scenario is simple, an app that is modular and each module has to manage its own portion of the database during upgrade.

The ORM in use is NHibernate, so if there is something that plays well with it that's an added plus.

Also, it needs to be able to execute without external tools (MSBuild etc) and instead it should run through ADO.NET (like NHibernate's SchemaUpdate).

Mihalis Bagos
  • 2,500
  • 1
  • 22
  • 32

1 Answers1

5

I find that Fluent Migrator works very well. If you version your migrations using the current date and time (eg. V201209111740UpdateTableX) then you won't run into problems with clashing version numbers, and Fluent Migrator will run any versions that haven't been run in order (afaik). It doesn't specifically have "partial" versions but using it normally should work.

Also, you can run it in your own app - you don't need to run it through MSBuild or through it's own tool

Martin Ernst
  • 5,629
  • 2
  • 17
  • 14
  • Thank for the reply, thats what I'm investigating atm. I saw FluentMigrator.Runner.dll, although its not on the documentation (which is currently down with github too). Is that really the way fluent migrator operates? I will have to test the migrations, but I think it only would execute the ones greater than the last executed – Mihalis Bagos Sep 11 '12 at 16:07