Schema Compare/Source Control
Brian.Lieb
Posts: 29 New member
I am not totally sure where to post this, but I have a question at the Schema Compare for Oracle (3.0.7.736) and Source Control for Oracle (2.0.7.1037) border.
So, the deployment process that I have been using to go from the repository to our production database server is to have the developers commit their changes to an SVN reposority via Source Control for Oracle. Then, they let me know which revision of the database to deploy to production.
I then use TortoiseSVN to Checkout that version of the repository. I then compare that scripts folder with where I would like to deploy that revision using Schema Compare.
However, when I open the scripts folder, I always get the notification:
When I click the Upgrade link, it removes the .svn folder and touches every file in the scripts folder. So, it doesn't change the repository, so the next time I checkout from the repository, I have the same issue.
I am wondering a few things, is there a better practice than how I am doing the deployments from the repository (realizing that I don't always want to pull the head revision from SVN)? Or is there a setting that will ignore the .svn folder so when Schema Compare touches all the script files it will allow me to easily check in the changes?
Finally, it would be a GREAT feature to have the repository be a choice instead of just "Database", "Snapshot", and "Scripts Folder" from the schema compare tool.
So, the deployment process that I have been using to go from the repository to our production database server is to have the developers commit their changes to an SVN reposority via Source Control for Oracle. Then, they let me know which revision of the database to deploy to production.
I then use TortoiseSVN to Checkout that version of the repository. I then compare that scripts folder with where I would like to deploy that revision using Schema Compare.
However, when I open the scripts folder, I always get the notification:
This scripts folder is in an old format. Upgrade the folder to use it in comparisons.
When I click the Upgrade link, it removes the .svn folder and touches every file in the scripts folder. So, it doesn't change the repository, so the next time I checkout from the repository, I have the same issue.
I am wondering a few things, is there a better practice than how I am doing the deployments from the repository (realizing that I don't always want to pull the head revision from SVN)? Or is there a setting that will ignore the .svn folder so when Schema Compare touches all the script files it will allow me to easily check in the changes?
Finally, it would be a GREAT feature to have the repository be a choice instead of just "Database", "Snapshot", and "Scripts Folder" from the schema compare tool.
Comments
The easiest workaround for your situation would be to allow the "upgrade" to happen and then recommit the databaseinformation.xml file into source control, this should contain a new <DatabaseVersionNew> element and the version should have been updated.
e.g. This was needed as we need to know if the database is 11.0 or 11.2 as the COMPRESS clauses changed significantly between the two releases.
Project Manager
Red Gate Software Ltd
Thanks for the response. I have done this, and things seemed to be working fine for checking out, and then comparing using schema compare.
To be clear the steps I took were
- Checked the repository using Tortoise to two places on my harddrive. (repo1, repo2)
- Used schema compare to 'Update' repo1, which removed the .svn folder and thereby removing the recognition this is an SVN repo from Tortoise
- Copied the contents of repo1 over the top of repo2, making sure to overwrite the files in repo2.
- Checked in repo2.
- Removed all local copies.
- Used Tortoise to checkout again to a folder called repo
- Opened Schema compare and used the repo as the source
VOILA! I don't need to update any more and schema compare works fine.
However, now, when I try to check in changes via Oracle Source Control, I get this error:
Error Some objects were out of date. Review the changes and check in again.
Report
When I click the Report link, Source Control crashes with this:
I can probably destroy the entire repository and start over from the schema, but that is not a palatable option. Is there any suggestion on how to proceed?
I removed the project from Oracle Source Control, and re-created it and was able to check the project in without an error.
Unfortunately, this did not fix the problem for all the other users. This is not 'unfixable', but is not very convenient or easy to fix.
I have seen this error before in other SVN clients, and I was able re-checkout the repo to fix it. It seems like something must be out of synch on the local machine.
Not sure what to suggest from here if that's the situation as the only way to clear out Source Control for Oracles local copies is to remove the project and re-add it.
Project Manager
Red Gate Software Ltd
New scripts folders are created with the new file format and old ones are read without complaint.
Project Manager
Red Gate Software Ltd