数据库项目 - 如何设置 DatabaseName 变量

Database Project - how to set DatabaseName variable

我已经有一段时间没有使用数据库项目了,我正焦头烂额地想弄清楚在哪里设置这个项目的数据库名称。

我已经在 SQLCMD 变量部分尝试过,但它不允许我(下面的错误)。我想这部分是定义你自己的变量(如果我尝试 $(DatabaseName))

也会发生同样的情况

帮助 link 也不起作用,这真的很有帮助(去 this 死了 link)

您可以使用以下方法之一覆盖数据库名称:

  1. 使用 Visual Studio 的发布功能时,您可以在对话框中更改数据库名称字段。
  2. 通过命令行发布时,sqlpackage.exe 采用 TargetDatabaseName 参数。示例:sqlpackage.exe /Action:Publish /SourceFile:C:\DbProject\bin\Debug\DbProject.dacpac /TargetServerName:localhost /TargetDatabaseName:TestDb(所有 sqlpackage.exe 个参数参见 here

我不想使用发布功能,但我确实找到了更改数据库名称的方法。似乎数据库名称默认为项目名称。因此,您只需重命名项目以匹配您的数据库名称即可。在我的例子中,项目名称和我想要的数据库名称不同。因此,要更改它,您可以按照以下步骤将项目重命名 TWICE:

  1. 将项目重命名为您希望数据库使用的名称。当 VS 询问时,"Do you also want to rename the target database for the project to 'xxx' ?",选择是。

  2. 将项目重命名为您希望的项目名称。您将看到相同的对话框,但这次选择否。

这告诉我信息是单独保存在某个地方的,所以我查看了 .sqlproj 文件,果然,有一个 <TargetDatabase> 元素。因此,另一种方法是手动编辑 .sqlproj 文件并将 TargetDatabase 更改为所需的数据库名称。

我正在使用 Visual Studio 社区 2019。

我知道这是一个老话题,但我刚遇到这个问题。

按照以下步骤设置 DatabaseName 变量:

  1. 卸载数据库项目。
  2. 编辑“.sqlproj.user”文件中的“TargetDatabase”元素。如果不存在,请添加它(例如“MyDatabase”)。
  3. 保存 .user 文件。
  4. 重新加载项目。

希望对您有所帮助。