Class: CsvFastImporter::Database::Mysql
- Defined in:
- lib/csv_fast_importer/database/mysql.rb
Instance Method Summary collapse
- #bulk_import(file, table, columns, row_index_column: nil, column_separator:, encoding:) ⇒ Object
- #verify_compatibility(configuration) ⇒ Object
Methods inherited from Queryable
#connection, #delete_all, #execute, identifier_quote_character, #identify, #initialize, #query, #transaction, #truncate
Constructor Details
This class inherits a constructor from CsvFastImporter::Database::Queryable
Instance Method Details
#bulk_import(file, table, columns, row_index_column: nil, column_separator:, encoding:) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/csv_fast_importer/database/mysql.rb', line 12 def bulk_import(file, table, columns, row_index_column: nil, column_separator:, encoding:) columns_list_query = columns.map { |column| identify(column) }.join(',') execute <<-SQL LOAD DATA LOCAL INFILE '#{File.(file)}' INTO TABLE #{identify(table)} CHARACTER SET UTF8 FIELDS TERMINATED BY '#{column_separator}' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\\n' IGNORE 1 LINES (#{columns_list_query}) ; SQL query('SELECT ROW_COUNT()') end |
#verify_compatibility(configuration) ⇒ Object
8 9 10 |
# File 'lib/csv_fast_importer/database/mysql.rb', line 8 def verify_compatibility(configuration) raise 'Transactional not supported with MySQL database' if configuration.transactional_forced? end |