Commit graph

138 commits

Author SHA1 Message Date
Mike Gehard 4653feab96 Relax pg version dependency a bit. The Gemfile specifies pg ~>0.9.0 and Rails 3.1 specifies pg 0.11 so there is no way for bundler to install pg for a new download. 2011-07-12 19:04:53 -06:00
Zach Dennis ff0acfa433 Bumping VERSION to 0.2.8.rc2 2011-06-22 22:53:33 -04:00
Zach Dennis 5a71efa2b4 Merge pull request #21 from jamiecobbett/master
Fix import of very large datasets containing multibyte chars on Ruby 1.9
2011-06-22 19:51:29 -07:00
Zach Dennis 92ec1b478d Merge pull request #26 from fallwith/master
Ruby 1.9.2 / RubyGems 1.8.5 compatibility fix (pass String instead of Pathname to require)
2011-06-22 19:45:17 -07:00
Zach Dennis 449a11cd1c Updated Gemfile to include ~> 3.0pre so pre-releases are considered.
[fixes #24]
2011-06-22 22:32:21 -04:00
Zach Dennis 2cefff2219 Updating Gemfile to include activerecord ~> 3.0 instead of 3.0.0 so it works with 3.1.
[fixes #24]
2011-06-22 22:17:06 -04:00
fallwith 8f91eeb93d Regexp.escape which is called by Gem.loaded_path? (/usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb) expects the path as a String, not a Pathname. Convert Pathnames to Strings prior to calling 'require' 2011-06-22 16:01:33 -07:00
Jamie Cobbett 6555fd70ba Correctly obey MySQL MAX PACKET
Use String's bytesize instead of size, because we're talking about byte length,
not string length. This resolves a problem on Ruby 1.9 with multi-byte
characters.
2011-05-08 21:35:47 +00:00
Jason 88e2ee034b Adding jdbcmysql support. 2011-05-04 20:27:11 -04:00
Zach Dennis 5b3740e0f2 Updating import_test to be Ruby 1.9.2 compatible. Ruby 1.9.1 changed the Date.parse capabilities to no longer support MM/DD/YYYY functionality so we only test against YYYY/MM/DD.
[fixes https://github.com/zdennis/activerecord-import/issues/19]
2011-05-04 19:55:46 -04:00
Zach Dennis e079e19a29 Version bump to 0.2.7 2011-04-29 00:13:40 -04:00
Zach Dennis 5aefbb2989 Do not use ActiveRecord::Base.new(hsh) when instantiating AR models. Use form of instantiation that allows protected attributes to be set. 2011-04-29 00:13:26 -04:00
Zach Dennis 71184b2903 Version bump to 0.2.6 2011-04-06 14:42:56 -04:00
Zach Dennis 574ce5c76b Version bump to 0.3.0 2011-04-06 14:42:33 -04:00
Zach Dennis 89662a67c2 Updating documentation for synchronize.
https://github.com/zdennis/activerecord-import/issues/16
2011-04-06 14:41:42 -04:00
Zach Dennis 58b144b6bf Updating documentation for synchronizing unsaved/new instances with import.
https://github.com/zdennis/activerecord-import/issues/16
2011-04-06 14:23:13 -04:00
Zach Dennis 7958ed18c2 Added :synchronize_keys to the import options so importing can synchronize on fields beside the primary key.
https://github.com/zdennis/activerecord-import/issues/16
2011-04-06 14:20:53 -04:00
Zach Dennis e00e9d7d59 Adding in support for :synchronization option for #import. Pulled in from ar-extensions. Currently only works with MySQL since that is the only database that supports on duplicate key update functionality.
https://github.com/zdennis/activerecord-import/issues#issue/6
2011-03-19 15:49:26 -04:00
Zach Dennis 319c52d80f Pulled in ActiveRecord synchronize functionality from the old ar-extensions code base.
https://github.com/zdennis/activerecord-import/issues#issue/6
2011-03-19 15:38:24 -04:00
Zach Dennis 9e6866fd29 Turning off warnings because FactoryGirl spews out crap and it makes it impossible to see anything useful. 2011-03-19 15:21:04 -04:00
Zach Dennis 32a2fe3bce Adding a test to ensure that specified ids are being saved when imported.
https://github.com/zdennis/activerecord-import/issues#issue/4
2011-03-19 15:20:44 -04:00
Franck Verrot d901a7c60f Importing an empty array of objects/values should be supported 2011-03-19 15:11:28 -04:00
Zach Dennis 2517770a38 Updating .gitignore with more entries 2011-03-19 15:04:54 -04:00
Zach Dennis c77f0ffad3 Turning warnings on in rake test. 2011-03-19 15:03:39 -04:00
Zach Dennis 0efb8f21e2 Updating gemfile to use spermy operator where appropriate. 2011-03-19 15:03:27 -04:00
Zach Dennis 5218b384de Version bump to 0.2.5 2011-01-11 21:02:07 -05:00
Zach Dennis cb6b726eac Ensure the #max_allowed_packet method exists for the MysqlAdapters.
https://github.com/zdennis/activerecord-import/issues#issue/12
2011-01-11 21:01:34 -05:00
Zach Dennis 1175bafe0e Adding test file pattern to ensure connection adapter tests are included. 2011-01-11 20:57:00 -05:00
Zach Dennis 161cf017f9 Renamed #values_sql_for_column_names_and_attributes to #values_sql_for_columns_and_attributes and cleaned up how it dealt with columns.
* added back in the support for type-casting based on the database column
* removed unused method in ActiveRecord::Import::AbstractAdapter

https://github.com/zdennis/activerecord-import/issues#issue/5
2011-01-10 22:36:52 -05:00
Ben Woosley 1a8082444b Simplify validations_arry_for_column_names_and_attributes with map, each_with_index and Hash.
Hash[column_names.zip(attributes)] would be much clearer, but would leave nil values for missing attributes which doesn't match the existing behavior.
2011-01-10 22:27:24 -05:00
Ben Woosley c9f246f4e2 Consolidate insert_sql between supports_import? cases so both make use of options[:ignore] 2011-01-10 22:27:23 -05:00
Ben Woosley 9727a04362 Reinstate the deleting of the :validate option - not because it was causing trouble, but to be a bit paranoid (reverts 63d6faeccee14b6e571a25b6f51f340d5da325f5) 2011-01-10 22:27:23 -05:00
Ben Woosley a3e9b4f040 Enable ImportSupport on Postgresql - the test suite now passes in full 2011-01-10 22:27:23 -05:00
Ben Woosley 7bd0e2693a Fix that values_sql_for_attributes wasn't accessing the columns with the same indexes as the array_of_attributes, and so was sometime mismatched.
Also return to the column_names[j] == primary_key style of testing, as the column itself is not always present
2011-01-10 22:27:22 -05:00
Ben Woosley df75eea4db Go more direct in the columns lookup 2011-01-10 22:26:39 -05:00
Ben Woosley 35786fef17 Codify import results in a Struct rather than OpenStruct, as it's a faster, more rigid structure 2011-01-10 22:12:34 -05:00
Ben Woosley 876546c584 #dup array_of_attributes a bit earlier - there's no point in duping the primary_key nulls we might put in next 2011-01-10 22:12:34 -05:00
Ben Woosley 899af1e412 No reason to pull :validate out of the options hash, and it's obfuscatory - remove. 2011-01-10 22:12:34 -05:00
Ben Woosley 18012bbbca More simplicity, once again with #map 2011-01-10 22:12:33 -05:00
Ben Woosley 3756e4f2b4 Refactor remaining supports_import? split to share code in values_sql_for_column_names_and_attributes. This means both with properly support sequences.
Rather than pass a ton of variables (sequence_name, columns, column_names, &c.), move the method out of the connection.  Also, use Column#primary to check primary key status.
2011-01-10 22:12:29 -05:00
Ben Woosley 5f4d9b3290 Extract columns_sql local more generally in #import_without_validations_or_callbacks. This is DRY-er, more consistent between the supports_import? cases and enables us to inline #quote_column_names 2011-01-10 22:11:54 -05:00
Ben Woosley 6b2153a841 Simplify values_sql_for_column_names_and_attributes with #map 2011-01-10 22:11:51 -05:00
Ben Woosley 7aefcf1164 Inline multiple_value_sets_insert_sql because it never changes, isn't particularly well-factored, and for parity with "not supports_import?" 2011-01-10 21:57:41 -05:00
Ben Woosley 2ada56f858 Avoid N << method calls in #import_without_validations_or_callbacks by chaining #map (is simpler, should be more performant, AFAIK) 2011-01-10 21:57:40 -05:00
Ben Woosley fff00af942 Don't initialize options[:on_duplicate_key_update] if the adapter doesn't #supports_on_duplicate_key_update? 2011-01-10 21:57:40 -05:00
Ben Woosley b3dda82c10 :check_dependencies task isn't provided by Jeweler when a Gemfile is around. See: https://github.com/technicalpickles/jeweler/blob/master/lib/jeweler/tasks.rb 2011-01-10 21:57:40 -05:00
Ben Woosley 0bbc24ba38 Keep test/database.yml out of the project so others can keep their own around 2011-01-10 21:57:40 -05:00
Ben Woosley b1c73ffac2 Update test/database.yml.sample from test/database.yml 2011-01-10 21:57:40 -05:00
Ben Woosley 7f1e4b4a4b Discriminate between ruby 1.9 and 1.8 in the bundle so we don't blow up on ruby-debug 2011-01-10 21:57:40 -05:00
Zach Dennis 3a91f37c2a Updating Gemfile to include rake so it works with rvm and bundler without complaint 2011-01-05 19:12:48 -05:00