在Ruby on Rails 5中将sqllite3数据库保存为csv文件

时间:2018-01-25 15:49:28

标签: sql ruby-on-rails sqlite ruby-on-rails-5

我目前正在开发一个项目,我想知道如何将rails中的sqllite数据库保存为csv文件。当你点击按钮时,我想要它,系统下载当前的数据库。有谁能够帮我?谢谢!

1 个答案:

答案 0 :(得分:1)

你的问题并不是Rails特有的。相反,你主要是处理一个行政问题。您应该编写一个脚本来将数据库导出为csv,类似this

#!/bin/bash
./bin/sqlite3 ./my_app/db/my_database.db <<!
.headers on
.mode csv
.output my_output_file.csv
select * from my_table;
!

此脚本导出单个表。如果您有其他表,则需要将它们添加到脚本中。

唯一与Rails相关的问题是调用该脚本的问题。将脚本保存在应用程序结构中;我建议my_app/assets或某个类似的位置。

现在您可以使用system(command)运行该脚本,其中command是脚本的绝对路径,在一组双引号中。