chucknorris / roundhouse

RoundhousE is a Database Migration Utility for .NET using sql files and versioning based on source control
http://projectroundhouse.org
920 stars 247 forks source link

Added methods in the Oracle DB section to use the PLSQL methods #319

Closed RossElder1983 closed 5 years ago

RossElder1983 commented 6 years ago

We were having an issue using roundhouse over numerous schemas on the same oracle instance.

If we had 2 schemas DB_DEV and DB_TEST, roundhouse would run fine on the DB_DEV instance, create the 3 roundhouse tables and populate them fine. When we came to run then on DB_TEST it would fail stating that the roundhouse tables did not exist. It appeared that it was checking for the existance of the roundhouse tables without taking into account it was under a different schema.

After a bit of looking about we noticed the PLSQLSpecific class in the roundhouse.databases.oracle section, after re-instating that roundhouse works like a charm.

If this isnt a great idea and there is another way to address the issue we were noticing i'd be very interested to hear some thoughts.

BiggerNoise commented 6 years ago

Thank you for this. I'll review it later this week and get it merged for the 0.9.2 release.

We're pretty thin on Oracle help around here; would you be willing to take a look at #298? I think @erikbra has it really close, but I'd like to get it over the finish line.

RossElder1983 commented 6 years ago

Thats great news thank you.

Ill be honest im no Oracle legend myself, we came across Roundhouse as our current DB migration tool, ready roll doesnt support Oracle DBs.

But ill certainly have a look and test it out on our setup, hopefully that will be useful. We would be very interested in using the managed provider ourselves.

erikbra commented 5 years ago

Schemas in Oracle work a bit different than e.g. in SQL server, I guess that's why the table names need to be separated by a _ in Oracle. I don't have any good test environment for Oracle. I have looked through your changes, and they seem sensible, given that you say they work :)

I think we are breaking updating the tables if they already exist in a previous version since we are no longer using NHibernate for the migration of the RoundhousE-tables themselves, but this is a dependency I'd really like to get rid of anyway, as I don't feel the tiny usage of it is worth the dependency, so having one DB on "manual sql" is a good thing, I think.

Could you please verify that rh off the master branch works after I have merged this PR?