在rails3中的seed.rb内执行sql脚本
我想在我的seed.rb中执行这个sql脚本
LOAD DATA LOCAL INFILE '/home/list-38.csv'
INTO TABLE list
FIELDS TERMINATED BY ':'
LINES TERMINATED BY '\n'
(email,name,password);
我检查了这个链接但无法找出解决方案。所以一旦我们运行 rake db:seed
如何通过在 Ruby Rails 平台中运行 sql 脚本来为 mysql 数据库做种? 它转储我的数据写入表中。
有任何疑问..回复
谢谢
I want to execute this sql script inside my seed.rb
LOAD DATA LOCAL INFILE '/home/list-38.csv'
INTO TABLE list
FIELDS TERMINATED BY ':'
LINES TERMINATED BY '\n'
(email,name,password);
I checked this link but unable to figure out the solution.So that once we run rake db:seed
How to seed mysql database by running sql scripts in Ruby Rails platform? it dumps my data into the table.
any queries ..do reply
Thanx
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
在db/seeds.rb中尝试使用rake db:seed执行原始SQL
Try this in db/seeds.rb to execute raw SQL with rake db:seed
对于多个 sql 语句,我最终分别迭代每个语句:
For multiple sql statements, I ended up iterating over each statement separately:
Fredrik Boström 的答案的一个变体可以从文件加载:
A variation on Fredrik Boström's answer that can load from a file:
这个答案已经很晚了,但希望它对处于我位置的人有所帮助。您可以使用 .execute_batch 直接连接到您正在使用的数据库版本,而不是迭代每个 sql 语句。下面是 SQLite3 的示例。
Super late to this answer but hopefully it helps someone in my position. Instead of iterating over each sql statement you can use .execute_batch using a direct connection to your database with the database version you are using. Below is an example with SQLite3.