我正在运行Ruby,创建一些基本的Web应用程序。当查看终端中rails服务器的日志时,我看到了mysql查询。
Refinery::User Load (0.2ms) SELECT "refinery_users".* FROM "refinery_users" WHERE "refinery_users"."id" = 1 LIMIT 1
论文与我创建的数据库有关,但这些数据库存在于何处?在rails服务器? rails服务器存储在OSX中的哪个位置? 我可以浏览内部的内容,特别是数据库吗?
谢谢,我知道这没什么实际用处,但我想了解正在发生的事情后面的概念,而不仅仅是肤浅的知识。
答案 0 :(得分:3)
默认情况下,Rails使用SQLite3。数据库文件存储在应用程序根目录的/ db目录中。应该有一个名为development.sqlite3的文件。
要访问该数据库,请打开终端会话,转到应用的根目录并输入sqlite3 db/development.sqlite3
。有关sqlite shell的更多信息,请访问:http://www.sqlite.org/sqlite.html
我认为你最好不要在SQLite shell中搞乱,1)看看/db/schema.rb看看数据库的结构,2)使用rails console
查看数据
如果你想知道,对于任何给定的Rails应用程序,它使用的数据库,请查看/config/database.yml。这为您提供了适配器,数据库名称,位置等。
此外,SQLite通常只是用于开始开发。当架构开始变得更复杂时,我不建议使用它。就个人而言,我从不使用它。我立即为任何新的Rails项目建立了一个mySQL数据库。