【问题标题】:Dynamics CRM 2011: Managed Solutions or deploying changes from DEV to PRDDynamics CRM 2011:托管解决方案或将更改从 DEV 部署到 PRD
【发布时间】:2012-09-23 15:41:35
【问题描述】:

对于 Dynamics CRM 2011,Microsoft 建议将实体自定义从 DEV 转移到 PRD,方法是将更改打包为托管(或非托管)解决方案。非托管很糟糕,因为您无法在需要时删除实体(删除解决方案只会删除容器,解决方案中包含的实体仍然存在)。在培训期间的大多数实验室示例中,您将自定义系统,然后将自定义实体导出为托管解决方案,然后将其导入生产。这种基于解决方案的方法很简洁,可以更轻松地控制 PRD 中的内容、将相关实体捆绑在一起、跟踪依赖关系等,所以我明白了。

但是,有时您需要将组织转储到 DEV 服务器上并从 PRD 恢复(以解决特定于数据的问题或出于其他原因)。我们通过禁用,然后删除 DEV 组织,然后要求 DBA 团队从生产中恢复 CRM 数据库来做到这一点,然后我们将组织导入回 DEV 服务器。但是,如果我们实施这种基于“托管解决方案”的变更迁移过程,在我们转储 DEV 并从 PRD 重新创建它之后,我们是否会失去更改实体的能力,这些解决方案处于只读模式?如果我们在这些托管解决方案中启用自定义,我们是否能够在不删除整个解决方案的情况下向解决方案添加新实体或从解决方案中删除实体?因为我认为托管解决方案被视为单个代码单元,所以要么全部删除,要么不删除。有兴趣了解其他人如何解决此问题。

【问题讨论】:

    标签: dynamics-crm dynamics-crm-2011 microsoft-dynamics


    【解决方案1】:

    我们处理此问题的一种方法是使用单独的干净开发机器作为“配置主机”来管理配置。该机器不用于任何其他开发或测试工作。插件等的开发机器可以从 prod 重建,但是这台机器仍然是所有解决方案的主机。不是一个理想的解决方案,但它确实避免了能够将托管解决方案转换为非托管解决方案的“功能差距”(可能通过一些密码工具)

    【讨论】:

      【解决方案2】:

      我建议不要在这类从开发到测试再到产品的情况下使用解决方案。

      如果您对此不确定,请尝试在您的开发环境中删除一个实体并将更改发布到您的生产环境。

      解决方案具有包容性,这意味着 CRM 不会删除在您的解决方案中已删除的字段和实体。

      删除实体的唯一方法是卸载您的解决方案,从而删除您的解决方案涵盖的所有实体中的生产数据!

      虽然理论上解决方案看起来很完美,但它们只对第三方供应商有用。

      通过卸载您的解决方案来回滚的目标是一个白日梦。考虑一个涉及数据转换的数据模型更新。没有任何神奇的功能可以逆转这一点。

      恢复备份更加简单可靠。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多