我遇到过这个非常奇怪的场景,我希望有其他人遇到过(最好的场景),或者也许那些有很多CRM经验的人可能会指出我在哪里寻找一个可能解决方案我似乎无法在网上找到任何与此问题相关的内容。
我们有4个环境:DEV,DEV-IST,UAT和PreProd。我们按以下顺序推进CRM部署:DEV - > DEV-IST - > UAT - > PreProd。我们没有继续我们的开发,因此我没有包括生产。
我们使用以下步骤进行CRM部署。
转到DEV。
将任何非托管解决方案导出到托管解决方案。然后,我们将这些托管解决方案复制到软件包部署者的“PkgFolder”中。
然后,我们备份DEV-IST CRM(组织A)数据库并将其作为(组织A)还原到DEV数据库服务器。然后,我们在组织A上运行包部署程序,以便它现在具有我们在开发中所做的所有更改。在我们进一步做之前,我们登录到组织A并转到以下屏幕:主页 - >设置 - >自定义 - >自定义系统。我可以在Entities节点下看到所有自定义实体。
我现在备份组织A(现在包括我的Dev更新)并将备份文件复制到DEV-IST数据库服务器。
我首先访问DEV-IST上的Deployment Manager并禁用该组织,然后将其删除。
现在我转到DEV-IST的SQL数据库并从上面的步骤4恢复备份并覆盖组织A数据库。
我回到DEV-IST上的Deployment Manager并使用导入组织重新导入组织A,因此现在有一个组织A现在更新了我的开发更新。上述过程可确保我们以极少的停机时间部署更新。
但是,我的问题是,在第7步之后,当我登录组织并转到主页 - >设置 - >自定义 - >自定义系统......我无法看到任何自定义实体!
任何可能导致此问题的想法。奇怪的是我注意到我无法在DEV-IST和PreProd中看到自定义实体,但可以在DEV和UAT环境中看到它们。
PS。我已经尝试点击“发布所有自定义项”,但它没有任何效果。
答案 0 :(得分:0)
您的部署过程非常复杂,我无法理解为什么您要以如此复杂的方式进行自定义转移。您应该简单地将自定义的解决方案从DEV环境转移到DEV-IST环境,然后转移到UAT和PreProd。
在一个环境中备份数据库并在另一个环境中恢复它肯定不会更快(因为您声明此类过程可以缩短环境的停机时间)。 此外,如果您坚持以这种方式进行部署,则不仅应该从Deployment Manager中删除组织,还应该从服务器中删除数据库(并还原备份的数据库)。
如果您只是为您的客户/公司定制CRM,则不应使用托管解决方案。托管解决方案用于共享您要共享或出售给其他人的一些可重用自定义项。请阅读Shan McArthur的这篇精彩文章,这将使您更好地理解问题: https://community.adxstudio.com/blogs/shan/2014-01-17-converting-crm-solutions-from-managed-to-unmanaged/
如果您必须使用托管解决方案 - 您应该只在最终的PROD环境中执行此操作,而不是在您的暂存环境中(您应该完全控制自定义以提供修补程序)
编辑: 我会将其添加为评论,但我还无法评论,所以我必须编辑我的回复。我复制了你的进程,我可以看到所有环境中的所有实体,所以必须有一些你正在做的具体事情导致这种行为。您是否在恢复数据库后检查了恢复的数据库中是否存在所有自定义实体? (每个实体都是一个与实体同名的独立表)。此外,我将比较数据库中所有与解决方案相关的表,您可以在其中查看自定义实体与无法查看自定义实体的数据库(因此,这将是表SolutionBase,SolutionComponenBase,MetadataSchema.Entity和所有其他MetadataSchema。*表)。您可以做的最后一个实验是将DB保存在您无法看到自定义实体的位置,删除托管解决方案,导入托管解决方案(标准方式)并检查实体是否在那里。我打赌他们会在那里,所以下一步将是再次比较数据库(所有元数据/解决方案表)和一些红门比较工具,也许这会指向正确的方向。
基本上,CRM中的元数据以这种方式构建 - 从默认解决方案中获取所有内容,然后按照导入的顺序应用所有托管解决方案并构建生成的元数据。你的案子看起来像CRM某种方式"忘了"将管理的解决方案应用于默认解决方案(我认为这可能是部署管理器的未知错误,应该在组织导入期间设置一些内容)。我希望您在环境之间比较数据库数据时会发现这一点。
我知道这不是一个有效的回复,通常我不会把它作为答案而是作为评论,但我不能发表评论,不幸的是:(
答案 1 :(得分:0)
我终于找到了这个问题的底部,并认为我会在这里为其他任何同样问题的人更新它。 “有人”在CRM服务器上进行了注册表编辑,以使CRM仅返回任何查询的前250条记录。由于自定义实体高于此数字,因此未显示。我已经恢复了这个改变,现在我可以看到自定义实体了。