我们正在尝试将Azure SQL数据库部署集成到我们的CICD流程中。我们有三个环境:开发、登台和生产。CI管道将生成DACPAC文件。CD管道将把DACPAC部署到下一个环境中。但是,由于分配给每个环境中的数据库的角色和权限发生冲突,该操作失败。处理这种情况最好的办法是什么?
nimxete21#
我认为你应该在生成dacpac或时使用一个exclude参数。提取add参数时(单据sqlpackage提取):
sqlpackage /Action:extract /p:ignorePermissions=true
发布时使用(单据sqlpackage发布):
sqlpackage /Action:Publish /p:ExcludeObjectTypes="Users;Permissions"
对我来说,我会选择第二个选项,因为它对你想排除的对象提供了更多的控制(将来你可能想排除其他的东西)。
1条答案
按热度按时间nimxete21#
我认为你应该在生成dacpac或时使用一个exclude参数。
提取add参数时(单据sqlpackage提取):
发布时使用(单据sqlpackage发布):
对我来说,我会选择第二个选项,因为它对你想排除的对象提供了更多的控制(将来你可能想排除其他的东西)。