【发布时间】:2012-08-23 15:28:59
【问题描述】:
每次更新生产网站时,我需要运行 5 个命令,它们只是名称不同。
我想自动执行此操作(例如,将来我可能必须运行这些命令 100 次)。
我做的是:
Update-Database -ConfigurationTypeName "SlaveConfiguration" -StartupProjectName "FacturatieMVCv2.Data" -Verbose -ConnectionString "Server=PC-1\SQLEXPRESS;Persist Security Info=True;Initial Catalog=Database1;uid=prog;password=ndp103@50;" -ConnectionProviderName "System.Data.SqlClient"
Update-Database -ConfigurationTypeName "SlaveConfiguration" -StartupProjectName "FacturatieMVCv2.Data" -Verbose -ConnectionString "Server=PC-1\SQLEXPRESS;Persist Security Info=True;Initial Catalog=Database2;uid=prog;password=ndp103@50;" -ConnectionProviderName "System.Data.SqlClient"
Update-Database -ConfigurationTypeName "SlaveConfiguration" -StartupProjectName "FacturatieMVCv2.Data" -Verbose -ConnectionString "Server=PC-1\SQLEXPRESS;Persist Security Info=True;Initial Catalog=Database3;uid=prog;password=ndp103@50;" -ConnectionProviderName "System.Data.SqlClient"
Update-Database -ConfigurationTypeName "SlaveConfiguration" -StartupProjectName "FacturatieMVCv2.Data" -Verbose -ConnectionString "Server=PC-1\SQLEXPRESS;Persist Security Info=True;Initial Catalog=Database4;uid=prog;password=ndp103@50;" -ConnectionProviderName "System.Data.SqlClient"
Update-Database -ConfigurationTypeName "SlaveConfiguration" -StartupProjectName "FacturatieMVCv2.Data" -Verbose -ConnectionString "Server=PC-1\SQLEXPRESS;Persist Security Info=True;Initial Catalog=Database5;uid=prog;password=ndp103@50;" -ConnectionProviderName "System.Data.SqlClient"
如何编写 i 脚本,这样,当我在控制台管理器中键入时:
Update-Database -type Production -version latest
它运行上面的所有命令,没有任何干扰。 (所有连接字符串都位于一个 .XML 文件中,例如:
<databases>
<type>Production
<database>Database1</database>
<database>Database2</database>
<database>Database3</database>
<database>Database4</database>
<database>Database5</database>
</type>
</databases>
【问题讨论】:
-
因为包管理器控制台是一个 PowerShell 主机,您可以为您的逻辑编写一个 PowerShell 脚本。
-
我在问题中使用了 Powershell 作为标签,但我忘记在我的问题中提及 PowerShell...
标签: .net visual-studio-2010 powershell package-managers