def generate_soql_select(self): select = 'select ' fields = self.sobject_desc['fields'] for field, last in lookahead(fields): if field['type'] != 'address': select = select + field['name'] if not last: select = select + ',\n' select = select + '\nfrom ' + self.sobject_desc['name'] return select
def generate_create_table(self): create_table = 'create table ' + self.mysql_table_name + ' (\n' for field_name, last in lookahead(self.sobject_mapping): mapping = self.sobject_mapping[field_name] create_table = create_table + '\t' + mapping['mysql_name'] + ' ' + mapping['mysql_ddl'] if not last: create_table = create_table + ',' create_table = create_table + '\n' # Charset is important to prevent errors in inserts of utf8 strings create_table = create_table + ') engine innodb default character set ' + CHARSET + ' collate ' + COLLATION return create_table
def generate_load_data_command(self): command = 'load data local infile [file here] into table ' + self.sobject_desc['name'] + ' character set ' command = command + "'utf8' " command = command + "fields terminated by ',' enclosed by " command = command + "'" + '"' + "' " command = command + "lines terminated by '\\n' (" fields = self.sobject_desc['fields'] for field, last in lookahead(fields): if field['type'] != 'address': command = command + field['name'] if not last: command = command + ',' command = command + ')' return command
def insert_statement(self): fields_list = '' wildcards = '' for field_name, last in lookahead(self.sobject_mapping): mapping = self.sobject_mapping[field_name] mysql_field_name = mapping['mysql_name'] fields_list = fields_list + mysql_field_name if not last: fields_list = fields_list + ', ' wildcards = wildcards + '%(' + mysql_field_name + ')s' if not last: wildcards = wildcards + ', ' dml = 'insert into ' + self.mysql_table_name + ' (' + fields_list + ') values (' + wildcards + ')' return dml