0

我经常使用 Ruby,创建一些基本的 Web 应用程序。在终端中查看 rails 服务器的日志时,我看到了 mysql 查询。

Refinery::User Load (0.2ms)  SELECT "refinery_users".* FROM "refinery_users" WHERE "refinery_users"."id" = 1 LIMIT 1

论文与我创建的数据库有关,但是这些数据库存在于哪里?在rails服务器中?在 OSX 中,rails 服务器存储在哪里?我可以浏览里面的内容,特别是数据库吗?

谢谢,我知道这没有太多实际用途,但我想了解正在发生的事情背后的概念,而不仅仅是肤浅的知识。

4

1 回答 1

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 数据库。

于 2013-04-30T13:02:52.880 回答