使用seed将csv格式的db文件导入DB
一段将csv格式的db文件导入对应表结构的代码。
前提要求
- csv文件名字和Model Class需要一一对应, 比如用户表users, Model中定义是
class User < ActiveRecord::Base
, 那么csv文件名字得是user.csv - csv文件需要有header,并且header名字需要同数据库中对应表的字段名相同
代码
以下代码在Rails 4.2下能够成功运行。
|
|
运行
将代码保存为db/seeds.rb
, 并将需要import的csv保存在lib/seeds/
目录下。执行rake db:seed
就可以将csv文件的数据导入到DB中对应的表中。
PostgreSQL dump命令
另外,在PostgreSQL中,将对应的某些记录dump成csv格式文件的命令如下:12# 在psql中输入如下命令,将所选记录dump成带header的csv文件\copy (SELECT * FROM users where id >=10 and id <20) To '/tmp/user.csv' With CSV HEADER