This project has moved. For the latest updates, please go here.

ChangeLog command line option is not honored


I would like to use an alternate name for the ChangeLog table. The -g/--ChangeLog options appear to exist for this exact purpose, but do not work as expected. I am using the MSSQL target.

This appears to be an issue with the the .sql scripts in DatabaseDeploy.Core\Database\Scripts\mysql. They do not have the 'changelog' table name tokenized.

I should be able to submit a patch for the MSSQL target. Judging by the scripts, Oracle has the same issue, but I don't have an Oracle DB to test with.


rakker91 wrote Jul 15, 2016 at 7:34 PM

Thank you for reporting this. I'd appreciate a patch, and we can make the oracle version behave the same.

I appreciate the help.

alexbestul wrote Jul 18, 2016 at 4:40 PM

I see that you have already updated the scripts in question. Is there anything else left to do?

Not strictly related to this issue, but I noticed that the ChangeLog table has two different bits of CREATE SQL. One is in changelog.sql, and the other is in EnsureChangeLogExists.sql. I think changelog.sql is unneeded. I couldn't find it referenced anywhere in code. Is there a reason for it that I'm missing?

rakker91 wrote Jul 18, 2016 at 5:04 PM

I need to test it, which I haven't done yet, and I need to create and deploy the nuget package. Honestly, though, you should be able to copy the scripts into the scripts directory locally and it'd probably work, which is what I'm guessing you've done already.

You're right, the changelog table sql is just for reference, it's not actually used. I think it was originally, but it's been subsumed by the EnsureChangeLogExists, so I should probably just delete it. :)

Again, thank you for the feedback and help.

wrote Jul 18, 2016 at 5:06 PM