我目前正在研究具有不同權限/用戶的本地開發環境和測試應用程序。我希望在部署到任一環境時能夠忽略用戶和權限。在.sqldeployment文件下,似乎只有用於忽略用戶權限(IgnorePermissions)和角色成員資格(IgnoreRoleMembership)的選項,但不能忽略用戶自己。這可能嗎?從VS2008部署數據庫項目時忽略用戶
5
A
回答
3
對不起,2008版本的Visual Studio目前不可能。
+3
另外,在VS2010中似乎不可能,因爲我有同樣的問題。 – 2010-06-30 11:55:18
1
有沒有一種明顯的方法 - 大量的請求這個功能here。命令行工具vsdbcmd.exe存在同樣的問題。
作爲解決方法,我使用PowerShell腳本從部署SQL腳本中刪除用戶和架構授權。這可以作爲部署後步驟(沒試過),或TeamCity的構建步驟等
$rxUser = New-Object System.Text.RegularExpressions.Regex "PRINT[^;]*;\s*GO\s*CREATE USER \[[^\]]*](\s*WITH DEFAULT_SCHEMA = \[[^\]]*])?;\s*GO\s*", SingleLine
$rxSchema = New-Object System.Text.RegularExpressions.Regex "PRINT[^;]*;\s*GO\s*CREATE SCHEMA \[[^\]]*]\s*AUTHORIZATION \[[^\]]*];\s*GO\s*", SingleLine
Get-Item "*.sql" | ForEach-Object {
$input = [System.IO.File]::ReadAllText($_.FullName)
$input = $rxUser.Replace($input, "")
$input = $rxSchema.Replace($input, "")
$output = [System.IO.File]::CreateText($_.FullName)
$output.Write($input)
$output.Close()
}
正則表達式可以修改忽略DROP USER語句也可以運行。
相關問題
- 1. 麻煩從VS2008部署數據庫SQL2005
- 2. 數據庫項目部署
- 3. 部署數據庫項目
- 4. Visual Studio 2010的數據庫項目部署策略
- 5. 如何部署VS2008 express桌面項目?
- 6. Visual Studio 2010數據庫項目部署
- 7. 部署數據庫項目腳本Erroinr
- 8. 如何部署數據庫項目?
- 9. 預部署在數據庫項目
- 10. 數據庫項目部署過程
- 11. VS2010數據庫項目部署問題
- 12. 自動化數據庫項目部署
- 13. Android Lint:忽略庫項目
- 14. 使用TeamCity部署ASP.NET Core項目並忽略測試 - WebDeploy
- 15. 爲什麼不在VS2008數據庫項目中運行部署後腳本?
- 16. VS 2010數據庫項目部署沒有部署索引
- 17. Visual Studio數據庫項目+部署+ TFS構建+多租戶
- 18. 數據庫項目在部署之前刪除數據庫?
- 19. 自動將CLR數據庫項目部署到數據庫中
- 20. 數據庫項目與GenerateDropsIfNotInProject部署下降是在數據庫項目
- 21. 如何在部署另一個數據庫項目後自動啓動部署VS數據庫項目
- 22. Eclipse部署webapp時忽略源代碼
- 23. ReSharper單元測試運行器忽略部署項目配置
- 24. 部署後忽略到JBoss
- 25. 數據庫部署策略(SQL Server)
- 26. 策略部署EF控制數據庫
- 27. 如何從VS2008項目爲ie部署ActiveX控件?
- 28. 從SSDT項目部署SQL數據庫更改
- 29. 如何從Visual Studio數據庫項目部署特定對象?
- 30. 從Visual Studio數據庫項目部署執行SSIS包?
好的問題,關於答案的恥辱。 – 2010-06-30 11:54:27