diff --git a/lib/activerecord-import/adapters/postgresql_adapter.rb b/lib/activerecord-import/adapters/postgresql_adapter.rb index 5077c4e..a5f7114 100644 --- a/lib/activerecord-import/adapters/postgresql_adapter.rb +++ b/lib/activerecord-import/adapters/postgresql_adapter.rb @@ -1,5 +1,11 @@ module ActiveRecord::Import::PostgreSQLAdapter module InstanceMethods + def self.included(klass) + klass.instance_eval do + include ActiveRecord::Import::ImportSupport + end + end + def next_value_for_sequence(sequence_name) %{nextval('#{sequence_name}')} end diff --git a/test/postgresql/import_test.rb b/test/postgresql/import_test.rb new file mode 100644 index 0000000..45e97ef --- /dev/null +++ b/test/postgresql/import_test.rb @@ -0,0 +1,20 @@ +require File.expand_path('../../test_helper', __FILE__) + +describe "#supports_imports?" do + it "should support import" do + assert ActiveRecord::Base.supports_import? + end +end + +describe "#import" do + it "should import with a single insert" do + # see ActiveRecord::ConnectionAdapters::AbstractAdapter test for more specifics + assert_difference "Topic.count", +10 do + result = Topic.import Build(3, :topics) + assert_equal 1, result.num_inserts + + result = Topic.import Build(7, :topics) + assert_equal 1, result.num_inserts + end + end +end