0

在 VS2012 中,我创建了一个数据库项目,一个导入的数据层应用程序 .dacpac 我从我的 SQL Server 2012 实例创建。

我的问题是,如果我正在开发,我想做的只是修改 VS 2012 中的 sql 表结构,比如我向表中添加一个新列,这是将该更改转移到数据库以构建项目的唯一方法.dacpac 然后升级数据库,在我的例子中是通过 SQL Server Management Studio。如果我正在开发开发人员数据库,非生产,我只想要一个更新脚本,我看不到如何在数据层应用程序的 db 项目中获取它。

我只是在这两个地方手动进行更改,但最终我会被打断并忘记相应地进行更改。

你怎么做呢?

谢谢

4

1 回答 1

0

也许我没有在这里关注您,但您是否尝试过通过发布数据库项目进行更新?如果您右键单击数据库项目,您应该会看到“发布数据库”对话框。从那里设置目标数据库连接,然后单击发布按钮。这应该将您的更改(在本例中为您添加的列)应用到您的目标数据库。

您也可以从命令行运行它。看起来像这样

c:\MyCode\bin\Debug>"c:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin"\sqlpackage.exe /Action:Publish /Sourcefile:MyCode.dacpac /Profile:local.publish.xml

publish.xml 文件可能看起来像这样

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <IncludeCompositeObjects>True</IncludeCompositeObjects>
    <TargetDatabaseName>TargetDatabaseName</TargetDatabaseName>
    <DeployScriptFileName>TheDeployScriptName.sql</DeployScriptFileName>
    <TargetConnectionString>Data Source=localhost\SQLEXPRESS;Integrated Security=True;Pooling=False</TargetConnectionString>
    <ProfileVersionNumber>1</ProfileVersionNumber>
  </PropertyGroup>
</Project>
于 2013-08-30T00:29:50.620 回答