在rails3中的seed.rb中执行sql脚本

Bij*_*dra 16 ruby-on-rails seed

我想在seed.rb中执行这个sql脚本

LOAD DATA LOCAL INFILE '/home/list-38.csv'
INTO TABLE list
FIELDS TERMINATED BY ':'
LINES TERMINATED BY '\n'
(email,name,password);
Run Code Online (Sandbox Code Playgroud)

我检查了这个链接,但无法找出解决方案.所以,一旦我们运行rake db:seed

如何通过在Ruby Rails平台上运行sql脚本来种子mysql数据库?它将我的数据转储到表中.

任何疑问..do回复

感谢名单

Pau*_*ves 32

db/seeds.rb中尝试使用rake db:seed执行原始SQL

connection = ActiveRecord::Base.connection()
connection.execute("*_YOUR_SQL_HERE_*")
Run Code Online (Sandbox Code Playgroud)


Fre*_*röm 5

对于多个sql语句,我最终分别迭代每个语句:

# db/seeds.rb

connection = ActiveRecord::Base.connection()

sql = <<-EOL
  INSERT INTO users values ('Admin');
  INSERT INTO categories values ('Supervisors');
EOL

sql.split(';').each do |s|
  connection.execute(s.strip) unless s.strip.empty?
end
Run Code Online (Sandbox Code Playgroud)