0

我正在使用 Ruby 1.9.2、Ruby on Rails v3.2.2 gem 和 MySQL 数据库。我想将数据从包含世界城市的CSV 文件导入数据库。我认为这个过程应该通过运行 RoR 迁移来完成,但我不知道如何正确进行。

特别是,我不知道应该将 CSV 文件放在哪里(即与我的 RoR 应用程序相关的目录中)以及如何从我的迁移文件中访问该文件以便将数据添加到数据库中。

4

2 回答 2

3

我做了很多从 csv 文件到数据库的导入。我将 csv 文件放在 db 文件夹中。然后我创建 rake 任务,以便我可以简单地调用

$ rake db:import:whatever

为了解析 csv 文件,我使用 csv 库 - 你必须设置 require 'csv'。导入器是 app/models 中的模型。以下是一些代码片段,它们显示了如何进行导入:

https://gist.github.com/4013876

我希望这有助于开始......

于 2012-11-04T21:35:03.143 回答
0

MYSQL 可以直接导入 CSV 文件。为此,您应该通过 SSH 登录到您的服务器(或以某种方式进入命令行)并调用以下命令:

$ mysql -u yourUserName -p
Enter password:
$ mysql> load data local infile 'c:\path_to_file\filename.csv' into table yourTableName character set utf8 fields terminated by ',' enclosed by '"' lines terminated by '\r\n' (field1, field2, field3);
于 2012-11-04T21:33:39.567 回答