You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using postgres-copy for importing CSV files in tempory tables that are later used for parsing line by line(record by record).
That's why such ActiveRecord models & tables could not be created upfront.
I believe that might be not such a rare use case.
That's the workaround that I'm currently using:
table_name = "upload_#{SecureRandom.hex}"
ActiveRecord::Base.connection.create_table table_name, id: :integer do |t|
columns.each do |column_name|
t.string column_name.to_sym
end
end
klass = Class.new(ActiveRecord::Base) do
acts_as_copy_target
self.table_name = table_name
end
klass.copy_from file_path.to_s, columns: columns
Please let me know if you may need this as an example in README, so I'll prepare a PR.
HTH
The text was updated successfully, but these errors were encountered:
Actually this brings to my attention a problem with the interface defined by this gem, a simpler class that takes a database connection and the copy parameters would be a more solid base to build the ActiveRecord behaviour upon.
The PR withe example in the README is a good idea. But I'm also keeping this open to improve on the interface exposed by the gem.
I'm using postgres-copy for importing CSV files in tempory tables that are later used for parsing line by line(record by record).
That's why such ActiveRecord models & tables could not be created upfront.
I believe that might be not such a rare use case.
That's the workaround that I'm currently using:
Please let me know if you may need this as an example in README, so I'll prepare a PR.
HTH
The text was updated successfully, but these errors were encountered: