CI between TeamCity and Redgate not working
Our company is looking into database CI and we have come across a problem with how the redgate DLM automation suite seems to be getting information from TeamCity. To get started with our setup, we followed the instructions on this page: https://documentation.red-gate.com/disp ... ity+plugin
We followed all of the instructions except for the testing part, since we have our own method of automatic testing. Anyways, at this point if I make a change to my testing database, TeamCity picks up the change and runs the build automatically. However, the Redgate DLM Automation Build step doesn't seem to ever pick up the change properly. As a result, the subsequent Redgate steps are not working properly as well. The build does run all the way through though.
The basic problems:
If I enter in a new table, nothing happens. We decided to use a local database to try and track what is happening, and we have noticed in the build log that the "Validating Database Step" part of the DLM automation build does not seem to include tables when updating from state to the local database. I tried using the "/include:table" switch for the command line arguments, but that breaks the build.
In addition, any new data into existing columns of the table are ignored by the step as well. The documentation is like this:
[17:34:29][Updating database] Registering data sources
[17:34:43][Updating database] Warning: Ignored statement found in file
[17:34:43][Updating database] C:TeamCityuildAgent empuildTmpSQL
[17:34:43][Updating database] CIx3wcgepb.jexdbstateDataenuit.CounterParties_Data.sql at line 1
[17:34:43][Updating database] Warning: Ignored statement found in file
[17:34:43][Updating database] C:TeamCityuildAgent empuildTmpSQL
[17:34:43][Updating database] CIx3wcgepb.jexdbstateDataenuit.County_Data.sql at line 1
[17:34:43][Updating database] Warning: Ignored statement found in file
[17:34:43][Updating database] C:TeamCityuildAgent empuildTmpSQL
[17:34:43][Updating database] CIx3wcgepb.jexdbstateDataenuit.County_Data.sql at line 2
[17:34:43][Updating database] Warning: Ignored statement found in file
[17:34:43][Updating database] C:TeamCityuildAgent empuildTmpSQL
[17:34:43][Updating database] CIx3wcgepb.jexdbstateDataenuit.County_Data.sql at line 3
[17:34:43][Updating database] Warning: Ignored statement found in file
[17:34:43][Updating database] C:TeamCityuildAgent empuildTmpSQL
[17:34:43][Updating database] CIx3wcgepb.jexdbstateDataKroger.Terminals_Data.sql at line 1
It simply excludes the changes in the new rows of the database. As far as I know, I don't have any filters on SQL Compare that is uses, so nothing should be getting filtered or ignored. I have noticed one odd exception where the changes seem to update properly, and that's if I add a new table with a matching synonym and view. If I do that, the change seems to get passed along properly. However, I still can't edit said table later without the above error with adding data happening. We have double checked with the document instructions many times, and verified that all of our settings seem to be correct. Any help would be greatly appreciated!
Thanks!
We followed all of the instructions except for the testing part, since we have our own method of automatic testing. Anyways, at this point if I make a change to my testing database, TeamCity picks up the change and runs the build automatically. However, the Redgate DLM Automation Build step doesn't seem to ever pick up the change properly. As a result, the subsequent Redgate steps are not working properly as well. The build does run all the way through though.
The basic problems:
If I enter in a new table, nothing happens. We decided to use a local database to try and track what is happening, and we have noticed in the build log that the "Validating Database Step" part of the DLM automation build does not seem to include tables when updating from state to the local database. I tried using the "/include:table" switch for the command line arguments, but that breaks the build.
In addition, any new data into existing columns of the table are ignored by the step as well. The documentation is like this:
[17:34:29][Updating database] Registering data sources
[17:34:43][Updating database] Warning: Ignored statement found in file
[17:34:43][Updating database] C:TeamCityuildAgent empuildTmpSQL
[17:34:43][Updating database] CIx3wcgepb.jexdbstateDataenuit.CounterParties_Data.sql at line 1
[17:34:43][Updating database] Warning: Ignored statement found in file
[17:34:43][Updating database] C:TeamCityuildAgent empuildTmpSQL
[17:34:43][Updating database] CIx3wcgepb.jexdbstateDataenuit.County_Data.sql at line 1
[17:34:43][Updating database] Warning: Ignored statement found in file
[17:34:43][Updating database] C:TeamCityuildAgent empuildTmpSQL
[17:34:43][Updating database] CIx3wcgepb.jexdbstateDataenuit.County_Data.sql at line 2
[17:34:43][Updating database] Warning: Ignored statement found in file
[17:34:43][Updating database] C:TeamCityuildAgent empuildTmpSQL
[17:34:43][Updating database] CIx3wcgepb.jexdbstateDataenuit.County_Data.sql at line 3
[17:34:43][Updating database] Warning: Ignored statement found in file
[17:34:43][Updating database] C:TeamCityuildAgent empuildTmpSQL
[17:34:43][Updating database] CIx3wcgepb.jexdbstateDataKroger.Terminals_Data.sql at line 1
It simply excludes the changes in the new rows of the database. As far as I know, I don't have any filters on SQL Compare that is uses, so nothing should be getting filtered or ignored. I have noticed one odd exception where the changes seem to update properly, and that's if I add a new table with a matching synonym and view. If I do that, the change seems to get passed along properly. However, I still can't edit said table later without the above error with adding data happening. We have double checked with the document instructions many times, and verified that all of our settings seem to be correct. Any help would be greatly appreciated!
Thanks!
Comments
Sorry we could not get to you sooner and I will close out the ticket associated with this post.
Warm Regards,
Technical Sales Engineer
Redgate Software