3

Im looking for a tool (preferably open-source) that can do Database migrations and versioning inside TFS, and is able to automatically deploy this during an deployment / build.

Background

We have developed an application that is frequently updated, sometimes with database changes and sometimes without. The database is running on Oracle 11g, there is also an Sqlite database in place to run tests against. We use NHibernate in combination with Fluent-NHibernate as ORM (Fluent-NHibernate for the mappings).

Current situation

At this time the database changes are done by hand. Changing the fluent mappings for database creation and writing a SQL script to alter / drop / create about anything we need. To go to Test / Acceptence / Production we build against a different Config and then Copy the contents to the specific server and run the specific SQL scripts on the database.

Drawbacks

The schemaupdate from NHibernate does not allow for destructive updates, so this has to be done by hand if we are looking for an NHibernate solution.

Preffered situation

the above is a workable solution but now we have the need to version these changes so that we can go up / rollback (if this is needed) if we deploy a new version by using Expand/Contract. it is preffered that this is done automatically when we deploy a new version to the database.

Questions

  1. Is there a migration tool thas uses Expand and Contract for generating schema's
  2. Will it work with Oracle 11g, SqLite and SqlServer
  3. Possibility to keep using NHibernate / Fluent-NHibernate
  4. Good ways to automatically deploy a specific build (Not a must have, are enough tools to do this but maybe good to have someting that can do all)

Investigated

I hope this is clear, if not feel free to comment

Jordy van Eijk
  • 2,718
  • 2
  • 19
  • 37
  • Have you had a look at https://github.com/dradovic/MigSharp? It has support for Oracle. – Dejan Jul 27 '14 at 19:45

0 Answers0