2

実動 Web サイトを更新するたびに、名前だけが異なる 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" 

コンソール マネージャに入力すると、次のようにスクリプトを作成するにはどうすればよいでしょうか。

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>
4

2 に答える 2

8

私があなたの質問を正しく理解していれば、パッケージ マネージャー コンソール内から PowerShell スクリプトを作成して実行する方法を尋ねているだけです。

1) メモ帳を使用して、現在のディレクトリに新しいスクリプトを作成します。

notepad newScript.ps1

2) コマンドをメモ帳に貼り付けます

Update-Database...
Update-Datebase...
Update-Database...

3) メモ帳ファイルを保存します

4) パッケージ マネージャー コンソールに次のように入力して、メモ帳ファイルを実行します。

.\newScript.ps1

powershell 関数とパラメーターの使用は、この回答の範囲外であることに注意してください。

于 2012-08-23T16:48:14.127 に答える
3

パッケージマネージャーコンソール自体については何も知りませんが、XMLから多数のデータベース名を読み取り、それらを接続文字列にポップしてコマンドレットに渡すことが目標である場合は、以下で説明します。 :

$config = [xml](gc c:\path\to\config.xml)
$dbNames= $config.Databases.Type.Database

$dbNames|%{
  $connStr = "Server=PC-1\SQLEXPRESS;Persist Security Info=True;Initial Catalog=$_;uid=prog;password=ndp103@50;"
  Update-Database -ConfigurationTypeName "SlaveConfiguration" -StartupProjectName "FacturatieMVCv2.Data" -Verbose -ConnectionString $connStr -ConnectionProviderName "System.Data.SqlClient"
}
于 2012-08-23T17:26:45.613 に答える