1

如果 rails 应用程序使用 sqlite,则 db:migrate 创建文件 db/development.sqlite3。在部署到 Heroku 之前,我更喜欢使用 postgresql 进行开发和生产。

我的 database.yml 文件的一部分:

development:
adapter: postgresql
encoding: unicode
host: localhost
database: app-development
username: postgres
password: *******

当我运行 bundle exec rake db:migrate 时,我应该期待一个像 db/development.postgresql 这样的文件吗?因为在 db 目录中没有创建文件,也没有产生错误。

$ bundle exec rake db:migrate
==  CreateUsers: migrating ====================================================
-- create_table(:users)
NOTICE:  CREATE TABLE will create implicit sequence "users_id_seq" for serial column "
users.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "users_pkey" for table
"users"
-> 0.2060s
==  CreateUsers: migrated (0.2070s) ===========================================
4

1 回答 1

0

嗯,postgresql是非常非常不同的sqlite。尝试阅读这篇文章,以便您发现主要区别:

http://saaientist.blogspot.com.br/2007/07/choice-of-databases-or-postgres-vs.html

关于您的问题的问题是 sqlite 使用应用程序文件夹中的数据库文件,而 postgres 不能以这种方式工作。有很多关于 postgresql 如何与 Rails 一起工作的资源,我建议你阅读一些并尝试理解。

于 2012-12-26T18:00:46.330 回答