eltoroit / ETCopyData

SFDX Plugin to populate your scratch org and/or developer sandbox with data extracted from multiple sObjects.
113 stars 23 forks source link

PricebookEntry #16

Closed raphaelbarreiros closed 5 years ago

raphaelbarreiros commented 5 years ago

Im using sfdx ETCopyData:full command with the folloing config, but the PricebookEntry wont get exported. Any way to fix this?

Thanks

{ "name": "Product2", "ignoreFields": "", "maxRecords": -1, "orderBy": null, "where": null }, { "name": "Pricebook2", "ignoreFields": "", "maxRecords": -1, "orderBy": null, "where": null }, { "name": "PricebookEntry", "ignoreFields": "", "maxRecords": -1, "orderBy": null, "where": null }

eltoroit commented 5 years ago

Do you get any errors/information if you set the log level to the lowest option?

raphaelbarreiros commented 5 years ago

ETCopyData.json file:

{
    "now": "2019-01-31T12:10:25.620Z",
    "orgSource": "Prod",
    "orgDestination": "barreiros01",
    "sObjectsData": [
        {
            "name": "Product2",
            "ignoreFields": "",
            "maxRecords": -1,
            "orderBy": null,
            "where": null
        },
        {
            "name": "Pricebook2",
            "ignoreFields": "",
            "maxRecords": -1,
            "orderBy": null,
            "where": null
        },
        {
            "name": "PricebookEntry",
            "ignoreFields": "",
            "maxRecords": -1,
            "orderBy": null,
            "where": null
        }
    ],
    "sObjectsMetadata": [],
    "rootFolder": "ETCopyData",
    "includeAllCustom": false,
    "stopOnErrors": true,
    "ignoreFields": null,
    "maxRecordsEach": -1,
    "deleteDestination": false,
    "pollingTimeout": 100000
}

Loglevel trace:

12:10:25.585Z  1   TRACE  ETCopyData.js:17        Log level: trace
12:10:25.586Z  2   INFO   ETCopyData.js:19        ETCopyData:Export Process Started
12:10:25.588Z  3   TRACE  ETCopyData.js:29        "Parameter: rootSettings [.\\registros]"
12:10:25.588Z  4   TRACE  ETCopyData.js:33        Parameter: source [Prod]
12:10:25.589Z  5   TRACE  ETCopyData.js:37        Parameter: destination [barreiros01]
12:10:25.594Z  6   INFO   Settings.js:202         Configuration value for [orgSource] read from command line: Prod
12:10:25.601Z  7   INFO   Settings.js:214         Configuration value for [orgDestination] read from command line: barreiros01
12:10:25.612Z  8   INFO   Settings.js:289         Configuration value for [stopOnErrors]: true
12:10:25.612Z  9   INFO   Settings.js:289         Configuration value for [rootFolder]: ETCopyData
12:10:25.613Z  10  INFO   Settings.js:289         Configuration value for [maxRecordsEach]: -1
12:10:25.613Z  11  INFO   Settings.js:289         Configuration value for [pollingTimeout]: 100000
12:10:25.614Z  12  INFO   Settings.js:225         Configuration value for [sObjectsData]: 3 sObjects found.
12:10:25.614Z  13  INFO   Settings.js:232         Configuration value for [sObjectsMetadata]: 0 sObjects found.
12:10:25.626Z  14  TRACE  ETCopyData.js:271       Configuration settings read.
12:10:26.308Z  15  INFO   OrgManager.js:27        [Prod] Alias for username: [raphael.barreiros@sky.com]
12:10:28.129Z  16  TRACE  SchemaDiscovery.js:229  [Prod] Found sObject [Pricebook2].
12:10:28.130Z  17  TRACE  SchemaDiscovery.js:229  [Prod] Found sObject [Product2].
12:10:29.598Z  18  INFO   OrgManager.js:27        [barreiros01] Alias for username: [test-0qifaf2yjazf@example.com]
12:10:31.857Z  19  TRACE  SchemaDiscovery.js:229  [barreiros01] Found sObject [Pricebook2].
12:10:31.858Z  20  TRACE  SchemaDiscovery.js:229  [barreiros01] Found sObject [Product2].
12:10:32.525Z  21  WARN   ETCopyData.js:243       There are some *field* differences between the orgs.
12:10:32.526Z  22  WARN   ETCopyData.js:247       If the following fields do exist in the org, then check security (FLS) because they could be hidden, but for now those fields will be ignored.
12:10:32.526Z  23  WARN   ETCopyData.js:252       [Prod] Field [Product2.ALIAS_NAME__c] does not exist in [barreiros01].
12:10:32.527Z  24  WARN   ETCopyData.js:252       [Prod] Field [Product2.Adulto__c] does not exist in [barreiros01].
12:10:32.527Z  25  WARN   ETCopyData.js:252       [Prod] Field [Product2.CATEGORY__c] does not exist in [barreiros01].
12:10:32.528Z  26  WARN   ETCopyData.js:252       [Prod] Field [Product2.Categoria__c] does not exist in [barreiros01].
12:10:32.528Z  27  WARN   ETCopyData.js:252       [Prod] Field [Product2.DISCOUNT_PERCENT__c] does not exist in [barreiros01].
12:10:32.528Z  28  WARN   ETCopyData.js:252       [Prod] Field [Product2.Descricao__c] does not exist in [barreiros01].
12:10:32.529Z  29  WARN   ETCopyData.js:252       [Prod] Field [Product2.ELIG_FLG__c] does not exist in [barreiros01].
12:10:32.529Z  30  WARN   ETCopyData.js:252       [Prod] Field [Product2.END_DT__c] does not exist in [barreiros01].
12:10:32.530Z  31  WARN   ETCopyData.js:252       [Prod] Field [Product2.EQP_REQUIRED__c] does not exist in [barreiros01].
12:10:32.530Z  32  WARN   ETCopyData.js:252       [Prod] Field [Product2.INCL_ELIG_FLG__c] does not exist in [barreiros01].
12:10:32.531Z  33  WARN   ETCopyData.js:252       [Prod] Field [Product2.LAST_UPD__c] does not exist in [barreiros01].
12:10:32.532Z  34  WARN   ETCopyData.js:252       [Prod] Field [Product2.PAYMENT_TYPE__c] does not exist in [barreiros01].
12:10:32.541Z  35  WARN   ETCopyData.js:252       [Prod] Field [Product2.PROD_COMP_ID__c] does not exist in [barreiros01].
12:10:32.542Z  36  WARN   ETCopyData.js:252       [Prod] Field [Product2.PROD_STATUS__c] does not exist in [barreiros01].
12:10:32.542Z  37  WARN   ETCopyData.js:252       [Prod] Field [Product2.QTY_CHANNEL__c] does not exist in [barreiros01].
12:10:32.542Z  38  WARN   ETCopyData.js:252       [Prod] Field [Product2.QTY_DIGITAL__c] does not exist in [barreiros01].
12:10:32.543Z  39  WARN   ETCopyData.js:252       [Prod] Field [Product2.QTY_EQP__c] does not exist in [barreiros01].
12:10:32.543Z  40  WARN   ETCopyData.js:252       [Prod] Field [Product2.QTY_MEDIA_CENTER__c] does not exist in [barreiros01].
12:10:32.543Z  41  WARN   ETCopyData.js:252       [Prod] Field [Product2.QTY_MINI__c] does not exist in [barreiros01].
12:10:32.544Z  42  WARN   ETCopyData.js:252       [Prod] Field [Product2.QTY_PLOTS__c] does not exist in [barreiros01].
12:10:32.544Z  43  WARN   ETCopyData.js:252       [Prod] Field [Product2.QTY_PLUS__c] does not exist in [barreiros01].
12:10:32.544Z  44  WARN   ETCopyData.js:252       [Prod] Field [Product2.QTY_SLIM__c] does not exist in [barreiros01].
12:10:32.544Z  45  WARN   ETCopyData.js:252       [Prod] Field [Product2.QTY_ZAPPER__c] does not exist in [barreiros01].
12:10:32.544Z  46  WARN   ETCopyData.js:252       [Prod] Field [Product2.START_DT__c] does not exist in [barreiros01].
12:10:32.545Z  47  WARN   ETCopyData.js:252       [Prod] Field [Product2.SUBCATEGORY__c] does not exist in [barreiros01].
12:10:32.545Z  48  WARN   ETCopyData.js:252       [Prod] Field [Product2.Skip_options__c] does not exist in [barreiros01].
12:10:32.545Z  49  WARN   ETCopyData.js:252       [Prod] Field [Product2.TAX_ACCESSION__c] does not exist in [barreiros01].
12:10:32.545Z  50  WARN   ETCopyData.js:252       [Prod] Field [Product2.TAX_FREE__c] does not exist in [barreiros01].
12:10:32.546Z  51  WARN   ETCopyData.js:252       [Prod] Field [Product2.TYPE__c] does not exist in [barreiros01].
12:10:32.546Z  52  WARN   ETCopyData.js:252       [Prod] Field [Product2.AST_PREMIUM__c] does not exist in [barreiros01].
12:10:32.546Z  53  WARN   ETCopyData.js:252       [Prod] Field [Product2.DISCOUNT_MOP__c] does not exist in [barreiros01].
12:10:32.546Z  54  WARN   ETCopyData.js:252       [Prod] Field [Product2.Adesao__c] does not exist in [barreiros01].
12:10:32.546Z  55  WARN   ETCopyData.js:252       [Prod] Field [Product2.Mensalidade__c] does not exist in [barreiros01].
12:10:32.546Z  56  WARN   ETCopyData.js:252       [Prod] Field [Product2.URL__c] does not exist in [barreiros01].
12:10:32.547Z  57  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.ALIAS_NAME__c] ignored because Org mismatch
12:10:32.547Z  58  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.Adulto__c] ignored because Org mismatch
12:10:32.547Z  59  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.CATEGORY__c] ignored because Org mismatch
12:10:32.548Z  60  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.Categoria__c] ignored because Org mismatch
12:10:32.548Z  61  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.DISCOUNT_PERCENT__c] ignored because Org mismatch
12:10:32.548Z  62  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.Descricao__c] ignored because Org mismatch
12:10:32.548Z  63  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.ELIG_FLG__c] ignored because Org mismatch
12:10:32.548Z  64  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.END_DT__c] ignored because Org mismatch
12:10:32.549Z  65  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.EQP_REQUIRED__c] ignored because Org mismatch
12:10:32.549Z  66  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.INCL_ELIG_FLG__c] ignored because Org mismatch
12:10:32.550Z  67  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.LAST_UPD__c] ignored because Org mismatch
12:10:32.550Z  68  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.PAYMENT_TYPE__c] ignored because Org mismatch
12:10:32.550Z  69  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.PROD_COMP_ID__c] ignored because Org mismatch
12:10:32.551Z  70  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.PROD_STATUS__c] ignored because Org mismatch
12:10:32.551Z  71  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.QTY_CHANNEL__c] ignored because Org mismatch
12:10:32.551Z  72  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.QTY_DIGITAL__c] ignored because Org mismatch
12:10:32.551Z  73  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.QTY_EQP__c] ignored because Org mismatch
12:10:32.552Z  74  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.QTY_MEDIA_CENTER__c] ignored because Org mismatch
12:10:32.552Z  75  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.QTY_MINI__c] ignored because Org mismatch
12:10:32.552Z  76  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.QTY_PLOTS__c] ignored because Org mismatch
12:10:32.552Z  77  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.QTY_PLUS__c] ignored because Org mismatch
12:10:32.553Z  78  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.QTY_SLIM__c] ignored because Org mismatch
12:10:32.553Z  79  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.QTY_ZAPPER__c] ignored because Org mismatch
12:10:32.553Z  80  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.START_DT__c] ignored because Org mismatch
12:10:32.553Z  81  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.SUBCATEGORY__c] ignored because Org mismatch
12:10:32.553Z  82  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.Skip_options__c] ignored because Org mismatch
12:10:32.554Z  83  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.TAX_ACCESSION__c] ignored because Org mismatch
12:10:32.554Z  84  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.TAX_FREE__c] ignored because Org mismatch
12:10:32.554Z  85  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.TYPE__c] ignored because Org mismatch
12:10:32.554Z  86  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.AST_PREMIUM__c] ignored because Org mismatch
12:10:32.554Z  87  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.DISCOUNT_MOP__c] ignored because Org mismatch
12:10:32.555Z  88  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.Adesao__c] ignored because Org mismatch
12:10:32.555Z  89  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.Mensalidade__c] ignored because Org mismatch
12:10:32.555Z  90  TRACE  SchemaDiscovery.js:94   [Prod] Field [Product2.URL__c] ignored because Org mismatch
12:10:32.581Z  91  TRACE  Exporter.js:32          [Prod] Querying Data sObject [Pricebook2]
12:10:32.583Z  92  TRACE  Exporter.js:111         [Prod] Querying [Pricebook2] with SOQL: [SELECT Description,Id,IsActive,Name FROM Pricebook2 ]
12:10:32.586Z  93  TRACE  Exporter.js:32          [Prod] Querying Data sObject [Product2]
12:10:32.587Z  94  TRACE  Exporter.js:111         [Prod] Querying [Product2] with SOQL: [SELECT Description,DisplayUrl,ExternalId,Family,Id,IsActive,Name,PROD_ID__c,ProductCode,QuantityUnitOfMeasure,StockKeepingUnit FROM Product2 ]
12:10:33.010Z  95  INFO   Exporter.js:69          [Prod] Queried [Pricebook2], retrieved 1 records
12:10:33.557Z  96  INFO   Exporter.js:69          [Prod] Queried [Product2], retrieved 365 records

So, the plugin cant read the PricebookEntry object, but if I query the object:

sfdx force:data:soql:query -q "SELECT Id FROM PricebookEntry"
ID
──────────────────
01u0R000004HDu6QAG
01u0R000004HDu7QAG
01u0R000004HDu8QAG
01u0R000004HDu9QAG
01u0R000004HDuAQAW
01u0R000004HDuBQAW
01u0R000004HDuCQAW
01u0R000004HDuDQAW
01u0R000004HDuEQAW
01u0R000004HDuFQAW
01u0R000004HDuGQAW
01u0R000004HDuHQAW
01u0R000004HDuIQAW
01u0R000004HDuJQAW
01u0R000004HDuKQAW
01u0R000004HDuLQAW
01u0R000004HDuMQAW
01u0R000004HDuNQAW
01u0R000004HDuOQAW
01u0R000004HDuPQAW
01u0R000004HDuQQAW
01u0R000004HDuRQAW
01u0R000004HDuSQAW
01u0R000004HDuTQAW
01u0R000004HDuUQAW
01u0R000004HDuVQAW
01u0R000004HDuWQAW
01u0R000004HDuXQAW
01u0R000004HDuYQAW
01u0R000004HDuZQAW
01u0R000004HDuaQAG
01u0R000004HDubQAG
01u0R000004HDucQAG
01u0R000004HDudQAG
Total number of records retrieved: 34.
erick-igr44 commented 5 years ago

Somehow the plugin is ignoring the PricebookEntry. I think this object gets discarded for processing since it's not searchable nor undeletable. I can't change any of these properties since it's a standard object. Is there a way to relax these requirements? I think that at least discarded entities and the reason should be logged.

Regards!

eltoroit commented 5 years ago

SchemaDiscovery.addSObject() determines which sObject can be used. I originally limited the sObjectes allowed because there were too many metadata sObjects that being processed. Maybe I went too far, and limit too many conditions. I am removing some of the conditions to allow for more sObjects and PricebookEntry will be able to be used.