Files
migration_via_sfdmu/prepared_steps/15_insert_servicecontract/InsertServiceContracts.py
Rene Kaßeböhmer 8af0ef8e78 savestate
2025-05-09 15:41:55 +02:00

47 lines
1.5 KiB
Python

import os
import argparse
from sys import path
path.append('../..')
from sf_auth import get_sf_connection
def insert_service_contracts(context):
"""
Insert ServiceContract records using Bulk API 2.0
Args:
context (str): Salesforce org context (e.g., 'qa2', 'prod')
"""
try:
# Get Salesforce connection
sf = get_sf_connection(context)
csv_file = 'ServiceContract.csv'
print(f'Starting bulk insert of ServiceContract records from {csv_file}...')
# Use bulk API 2.0 to insert records directly from CSV
results = sf.bulk2.ServiceContract.insert(
csv_file,
batch_size=10000,
concurrency=5
)
# Count successes and failures
success_count = sum(1 for result in results if result['success'])
total_count = len(results)
print(f'\nInsertion complete:')
print(f'Total records: {total_count}')
print(f'Successful: {success_count}')
print(f'Failed: {total_count - success_count}')
except Exception as e:
print(f'Error: {str(e)}')
raise
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='Insert ServiceContract records via Bulk API')
parser.add_argument('--context', type=str, required=True,
help='Salesforce org context (e.g., "qa2", "prod")')
args = parser.parse_args()
insert_service_contracts(args.context)