dataplat / dbops

⚙ dbops - Powershell module that provides continuous database deployments on any scale
MIT License
155 stars 39 forks source link

Journaling to a single DB, when working with multiple DB #146

Open c-Raymart opened 2 years ago

c-Raymart commented 2 years ago

Hi,

I'm working with multiple database and executing all the files in a single transaction. This is my sample command. Install-DBOScript -ScriptPath ${{github.workspace}}\applications\scripts* -SqlInstance $dbServer -Database test_db -Credential $sqlcredential

All my sql scripts should define the database in the first line of each file with the following command USE database_name.

The problem after executing a script of other databases, filename didn't save in the (schemaversions) of db where I initially connected (test_db in sample above). In result the sql file of other databases rerun again (once I re-run the pipeline).

Currently my work around is to add a command "USE test_db" at the end of each sql file.

Any thoughts?

nvarscar commented 2 years ago

I'm not sure if something like this would be possible. Your workaround seems to be a way to go if you want to achieve something like this.

Seems like theoretically a journal could be defined with a separate connection string (though it didn't work for the OP): https://github.com/DbUp/DbUp/issues/566

Similar to https://github.com/dataplat/dbops/issues/127

Seems like it should be possible to journal to a specific database. I might play with it at some point. Thanks for the idea.