0

我曾经SQLite3PostgreSQL. 然而,在这个问题之后,我意识到拥有相同数据库用于开发和生产的重要性。

经过许多问题,我终于设法PostgreSQL在我的 Mac OS X Lion 10.7.4 上安装了。但是,我仍然面临一些问题:

  • 使用SQLite3数据库的路径是在 上定义的database.yml,rails会在每个新项目中自动创建。
  • 使用PostgreSQL数据库名称是在 上定义的database.yml,rails不会自动创建。

我的问题:

我应该为每个新项目创建一个新数据库,还是应该将其更改database.yml为包含所有项目的相同数据库?

我看到有人说计算机中的每个用户都应该有一个数据库,当使用PostgreSQL. 好吧,如果最佳实践是为每个项目创建一个数据库(我希望如此)......

有什么方法可以配置 rails 在每个新项目中自动创建新数据库?

4

3 回答 3

1

创建数据库大多是一次性操作,所以为一个项目创建一次并没有什么大不了的。一个普通的 Postgresql 管理员可以使用 pgAdmin 图形工具。

于 2012-07-08T15:51:48.653 回答
0

如果使用 Postgresql 进行开发,需要自己创建数据库。

但是你可以为 Postgresql 初始化你的项目。

rails new my_project -d postgresql

祝你有美好的一天。

本杰明。

于 2012-07-08T15:58:46.620 回答
0

问题解决了:

我已经按照教程进行操作,我终于可以解决问题了。

我为我的postgreSQL调用创建了一个新用户,user1没有任何密码,所以每次创建新项目时,我只需要更改database.yml以下内容:

development:
  adapter: postgresql
  encoding: unicode
  database: newproject_development
  pool: 5
  username: user1 #I am changing this line
  password:

test:
  adapter: postgresql
  encoding: unicode
  database: newproject_test
  pool: 5
  username: user1 #I am changing this line
  password:

production:
  adapter: postgresql
  encoding: unicode
  database: newproject_production
  pool: 5
  username: user1 #I am changing this line
  password:

由于user1没有任何密码,现在我可以使用 Rails 创建表rake

rake db:create:all
于 2012-07-09T10:14:48.737 回答