Kristian Gerardsson
2008-Aug-22 01:52 UTC
Ar-extensions import - on_duplicate_key_update error
This works perfectly the first time i run the script and every row gets
inserted.
But when ran a second time, when the code should update duplicate table
rows instead of inserting, then this error appears (first object in the
array):
[code]Mysql::Error: #23000Duplicate entry ''One Tree Hill'' for
key
''show_must_be_unique''[/code]
Lets go through the code real quick..
[code]class CreateShows < ActiveRecord::Migration
def self.up
create_table :shows do |t|
t.string :name
t.string :url
t.string :genre
t.datetime :start_year
t.datetime :end_year
t.timestamps
end
add_index(:shows, [:name], :unique => true, :name =>
"show_must_be_unique")
end
def self.down
drop_table :shows
end
end[/code]
[quote] require "ar-extensions"
require "hpricot"
require "open-uri"
def index
@columns = [
:name,
:url,
:genre,
:start_year,
:end_year
]
@values = scrape_shows() #returns a correct array with Show objects
@options = {:validate => false, :on_duplicate_key_update => [:url,
:start_year, :end_year]}
Show.import @columns, @values, @options
@values.clear
@shows = Show.find(:all)
respond_to do |format|
format.html #index.html.erb
end
end
[/quote]
I''ve google around alot for any solution with no luck.
My friend introduced me to AR-extensions and he simply gave me this
code, which run fine for him, then of course we don''t have the same
setup.
Anyone have experience with AR-extensions on Windows?
I''m running:
Ruby 1.8.6
Rails 2.1.0
Mongrel 1.1.5
AR-extensions 0.8.0
(yes, with MySQL)
Somehow the code won''t recognize a duplicate and still tries to do an
INSERT instead of an UPDATE.
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---