我使用irb和console来编写大量脚本,并已切换到在textmate中编写单个.rb文件,然后命令+ r运行它。这真的很酷,因为我可以将所有代码保存在一个位置,只需按命令+ r。
所以现在我希望它从rails应用程序获取数据,当然它有一个sqlite3数据库。我怎么能这样做?
答案 0 :(得分:3)
Rails包含一个控制台,它是一个预先连接的IRB会话,用于加载模型并建立数据库连接等。它可以轻松地执行ad-if,而无需手动需要所需的Rails模块并执行数据库连接。
此外,Rails有一个“脚本运行器”,令人惊讶的是,rails runner
。它允许您在Rails应用程序的上下文中运行代码,而无需在控制器或模型中添加例程。对于不应该是主应用程序堆栈的一部分的实用程序脚本来说,它非常棒,但仍然需要访问模型和数据库。请参阅Rails'应用目录中的rails runner -h
。
对于可能有所帮助的跑步者来说,some other questions已经{{3}}。
答案 1 :(得分:1)
我认为从Rails外部访问数据库的最简单方法是使用sqlite3-ruby gem。 Find documentation here
以下是从GitHub上面的链接复制的一些示例代码:
require "sqlite3"
# Open a database
db = SQLite3::Database.new "test.db"
# Find a few rows
db.execute( "select * from numbers" ) do |row|
p row
end