【问题标题】:Where are the postgreSQL files after a db:migrate in Rails?在 Rails 中 db:migrate 之后的 postgreSQL 文件在哪里?
【发布时间】:2012-04-03 20:20:11
【问题描述】:
使用 SQLite3 时,在我运行 bundle exec rake db:migrate 后,它会更新 db 文件夹中的 development.sqlite3 文件(它本身在我的应用程序文件夹中)。
我将我的 Rails 应用程序配置为与 PostgreSQL 一起使用,数据库和迁移工作正常,但我不知道相关文件的创建位置。相反,我仍然看到相同的 .sqlite3 文件。
知道它们寄宿在哪里,或者它们甚至没有被创造出来吗?如果我使用 PostgreSQL 运行 Rails,为什么仍然会创建 .sqlite3?
非常感谢。
【问题讨论】:
标签:
ruby-on-rails
database
sqlite
postgresql
【解决方案1】:
PostgreSQL 没有包含所有数据、结构……基本上是整个数据库的“单个”文件。这是 SQLite 的(缺点)优势:它将所有内容都放在一个文件中,这使得开发非常容易。
根据您的平台,您有一个 postgresql 文件夹,其中存储了所有数据、表结构、索引……。在 Ubuntu 上,默认位置是
/var/lib/postgresql/{pg_version}/main
【解决方案2】:
PostgreSQL 是一个数据库服务器。 Rails 向它发送命令,它执行它们。它存储数据文件的位置在其配置文件中进行配置。这不关 Rails 的事。
例如,对于 MySQL,默认数据目录是 /var/lib/mysql。对于 Postgres,它必须类似。要知道确切的位置,请查阅您的数据库服务器配置文件。
【解决方案3】:
在 Windows 8 上,我发现数据库位于
C:\Program Files\PostgreSQL\9.3\data\