场景:需要区分测试环境或正式环境运行不同的代码逻辑
方法1:获取Organization ID,然后跟正式环境对比,匹配则是正式环境。
优点是不占Apex查询限制,缺点是正式环境的OrgID是写死在代码里的,在不同Org间迁移代码时需要手动修改。
Code:
String organizationId = System.UserInfo.getOrganizationId(); if( organizationId.containsIgnoreCase('00DXXXXXXXXXXXXXXX') ){ // Production code }else{ // Sandbox code }
方法2:查询Organization表
优缺点分别与方法1相反。
Organization org = [SELECT Id, Name, IsSandbox FROM Organization]; if(org.IsSandbox){ // Sandbox code }else{ // Production code }