Hello,
I’m converting data from a db to another.
It’s kinda complex migration.
I need to merge some tables into one and change some column values by
rules.
I want to use ActiveRecord instead of DBI (For some reason, on my
ubuntu box, DBI for MySql doesn’t work.)
Modeling is not important here.
And I don’t want to define all models for every table (more than 800
tables).
I just want to use my sql statements for retrieval and update (select/
insert/update…).
So basically, I’m not taking advantage of ActiveRecord.
I’m just using it as DB interface.
Through some research, I figured out how to retrieve data.
ActiveRecord::Base.establish_connection(…)
rows = ActiveRecord::Base.find_by_sql(“select * from table1”)
rows.each do |row|
hash = row.attributes_before_type_cast
…
end
In this way, row.attributes didn’t work but
attributes_before_type_cast did.
Question 1:
Is there a way to make row.attributes work? And for better, how can I
make row.col_name work?
Question 2:
How can I use insert/update statement?
For example, ActiveRecord::Base.insert_by_sql(“insert into…”)
I googled it already but couldn’t find good examples.
Thanks.
Sam