如果不存在,如何在Visual Studio中使用Database Project创建数据库?

问题描述 投票:0回答:1

我有个人项目的数据库项目,我正在尝试将我的代码部署到我的DEV服务器。我经常删除并重新创建我的DEV服务器。现在,DEV Server是使用SQL Server新创建的。每次我想部署我的代码时,我都必须手动创建Database Project,然后发布数据库项目。我想通过数据库项目部署自动创建数据库。

现在,我有一个创建数据库的脚本,但我必须手动执行它。这是完美的工作,但我也希望自动化这一步骤。

这甚至可能吗?如果是,那怎么样?请一步一步解释。还有什么我们会在连接字符串中提到初始目录?

编辑:我尝试使用创建数据库

CREATE DATABASE LocalDbTest

在预部署脚本中。但它没有用。它正在创建数据库,但是表格下面没有创建表格。由于我使用master数据库作为默认数据库,因此它在master下创建表。它不允许我选择LocalDbTest数据库作为默认值,因为它尚未创建,所以我必须选择Master作为我的默认数据库。我试图改变数据库:

USE LocalDbTest
GO

我在创建数据库之后就使用它但这没有用,因为在生成脚本时它会更改回默认数据库。生成脚本时,此部分将自动生效。

USE [$(DatabaseName)];
GO

Visual Studio也不允许我在表名前添加数据库名称,如:

CREATE TABLE [LocalDbTest].[dbo].[TestTable]

我收到错误:

When you create an object of this type in a database project, the object's name must contain no more than two parts.
sql-server visual-studio database-project
1个回答
1
投票

如果您已准备好创建数据库的脚本,则可以使用预构建事件来调用SQLCMD并运行脚本。

编辑:如果您无法指向不存在的数据库,则可能必须手动编辑发布配置文件(例如dev.publish.xml)并明确设置TargetDatabaseName元素。如果要在每次发布时重新创建,还可以将CreateNewDatabase元素设置为True

答:您可以使用发布配置文件并对其中的目标数据库进行硬编码。

© www.soinside.com 2019 - 2024. All rights reserved.