Mysql Rails 4脚本+;错误:将数据从一个表迁移到另一个表
我创建了一个脚本,我想用它在另一个数据库中填充一个新表,因为我正在将这个表从一个DB(表1)移动到另一个DB(表2)。我已经在新DB(DB_2)中创建了“new_geo_fence”表,并希望在下面运行脚本以在上面迁移数据。脚本如下:Mysql Rails 4脚本+;错误:将数据从一个表迁移到另一个表,mysql,ruby-on-rails,ruby,ruby-on-rails-4,Mysql,Ruby On Rails,Ruby,Ruby On Rails 4,我创建了一个脚本,我想用它在另一个数据库中填充一个新表,因为我正在将这个表从一个DB(表1)移动到另一个DB(表2)。我已经在新DB(DB_2)中创建了“new_geo_fence”表,并希望在下面运行脚本以在上面迁移数据。脚本如下: class NewGeoFence < ActiveRecord::Base attr_accessible :name, :address, :latitude, :longitude, :radius, :customer_id belon
class NewGeoFence < ActiveRecord::Base
attr_accessible :name, :address, :latitude, :longitude, :radius, :customer_id
belongs_to :customer, :foreign_key => 'customer_id'
end
require 'rubygems'
GeoFence.all.each do |g|
gf = NewGeoFence.new(
:id => g.id,
:name => g.name,
:address => g.address,
:latitude => g.latitude,
:longitude => g.longitude,
:radius => g.radius,
:created_at => g.created_at,
:updated_at => g.updated_at,
:customer_id => g.customer_id
)
gf.save
end
运行此脚本时,我错过了什么
谢谢 在一个类上调用每个类,而在一个对象数组上调用它,所以
GeoFence.all.each do |g|
Rails 4要求在进行质量分配时将参数列为白名单。为此,请使用强参数
GeoFence.all.each do |g|
params = ActionController::Parameters.new({
geofence: {
id: g.id,
name: g.name,
address: g.address,
latitude: g.latitude,
longitude: g.longitude,
radius: g.radius,
created_at: g.created_at,
updated_at: g.updated_at,
customer_id: g.customer_id
}
})
gf = NewGeoFence.new(params.require(:geofence).permit!)
gf.save
end
GeoFence.all.each do |g|
params = ActionController::Parameters.new({
geofence: {
id: g.id,
name: g.name,
address: g.address,
latitude: g.latitude,
longitude: g.longitude,
radius: g.radius,
created_at: g.created_at,
updated_at: g.updated_at,
customer_id: g.customer_id
}
})
gf = NewGeoFence.new(params.require(:geofence).permit!)
gf.save
end