Deploying a SSDT project

Everyday we work on schemas and views in a SSDT project in Visual Studio for SQL Server databases.

We also use the publishing profiles to deploy the database locally, and sometimes to the dev server if deployment pipelines are not in place. 

I want to accomplish the same thing in Rider 2023.2. However it does not appear that Rider supports this. We want to accomplish this with Rider in Windows and non-Windows environments like Ubuntu. 

We can accomplish this on our Github Actions as follows:

      - name: Build database
        shell: cmd
        run: dotnet build DataAccessProjects\\DataAccess.Data\\DataAccess.Data.sqlproj /p:NetCoreBuild=true /p:NETCoreTargetsPath=C:\\actions-sql\\BuildDirectory

      - name: Deploy database
        shell: cmd
        run:  sqlpackage /Action:Publish /SourceFile:DataAccessProjects\\DataAccess.Data\\bin\\Debug\\DataAccess.Data.dacpac /Profile:DataAccessProjects\\DataAccess.Data\\Dev.Data.publish.xml /TargetPassword:${{ secrets.SA_PASS }}

 

Even Visual Studio Code can do this cross platform. Actually this is how we do it on Ubuntu, through VS Code. 

 

How can we accomplish this in Rider? This is not something proprietary any more. This is one of the very last things that is keeping us from using Rider daily as we keep on having to jump back to Visual Studio whenever we do database work. 

 

 

0
2 comments

Hi,

Unfortunately, this is not implemented yet: https://youtrack.jetbrains.com/issue/RIDER-89767/SQL-Server-Project-Support-option-to-publish-database-projects-to-SQL-Server. As for the ETA, I cannot promise it will be delivered in the upcoming half of year, but I drew the team's attention to this issue.

I'm sorry for the inconvenience.

0

As a workaround you can try using .NET Native Executable run configurations in Rider:

-open Run configuration settings (menu Run -> Edit configurations)

-create 2 .NET executable configurations for each run command (build and deploy) with the corresponding parameters  from those commands

Then you can run them within Rider. Please let me know if this can help.

0

Please sign in to leave a comment.