Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 使用Visual Studio数据库项目时在重构操作上执行自定义脚本_Visual Studio_Refactoring_Database Project - Fatal编程技术网

Visual studio 使用Visual Studio数据库项目时在重构操作上执行自定义脚本

Visual studio 使用Visual Studio数据库项目时在重构操作上执行自定义脚本,visual-studio,refactoring,database-project,Visual Studio,Refactoring,Database Project,如果我在Visual Studio中使用Schema视图重构数据库列,我将得到如下重构日志: <Operation Name="Rename Refactor" Key="32f8afe4-af53-441d-a93b-46097d19b4ae" ChangeDateTime="02/24/2014 08:53:02"> <Property Name="ElementName" Value="[dbo].[table1].[col1]" /> <P

如果我在Visual Studio中使用Schema视图重构数据库列,我将得到如下重构日志:

 <Operation Name="Rename Refactor" Key="32f8afe4-af53-441d-a93b-46097d19b4ae" ChangeDateTime="02/24/2014 08:53:02">
    <Property Name="ElementName" Value="[dbo].[table1].[col1]" />
    <Property Name="ElementType" Value="ISqlSimpleColumn" />
    <Property Name="ParentElementName" Value="[dbo].[table1]" />
    <Property Name="ParentElementType" Value="ISql90Table" />
    <Property Name="NewName" Value="[col1Refactored]" />
  </Operation>


假设我只想在部署时触发此特定重构时运行一些自定义脚本。如何做到这一点?

一个可能的解决方案(未测试)是调整重构日志表,使其包含一个默认为GETDATE()的“inserted date”列。如果这次启动了该GUID,请运行脚本。如果在部署期间不禁用DDL触发器,另一种可能是跟踪DDL触发器。如果这取决于新名称,您可能需要在特殊情况下处理,因为如果该列不存在,它可能无法正确构建/发布。谢谢Peter。我希望有一个“内置”的解决方案,但我想我将不得不解决一个变通办法。