【问题标题】:Saving an sqllite3 database as csv file in Ruby on Rails 5在 Ruby on Rails 5 中将 sqlite3 数据库保存为 csv 文件
【发布时间】:2018-07-04 22:31:51
【问题描述】:

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

【问题讨论】:

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


    【解决方案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 是您的脚本的绝对路径,位于一组双引号内。

    【讨论】:

    • 再看我的回答,你会注意到你错过了我写的部分:“将脚本保存在你的应用程序结构中;我建议 my_app/assets 或类似的位置。”如果此答案解决了您的问题,请单击左侧的复选标记,以便其他人知道什么对您有用。
    • 如何获取数据库的 csv 文件
    • @T.Aloufi 看到我给你的脚本中的输出行了吗?在那里指定输出路径。如果您不提供完全限定的路径,那么无论您从哪里运行脚本,您都将获得该文件。
    • 你能举个例子吗?
    • @T.Aloufi 教你 UNIX/Linux 完全超出了 Stack Overflow 的范围。你为什么不试试谷歌,你可以读到像this这样的东西?老实说,在你理解一些基本原理之前,我认为我对你没有任何进一步的用处。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-16
    • 2012-11-24
    • 2016-02-16
    • 2013-12-11
    相关资源
    最近更新 更多