尝试从SQLite3迁移后了解postgreSQL数据库

时间:2012-07-08 15:29:26

标签: ruby-on-rails ruby-on-rails-3 postgresql

我曾经在SQLite3上开发并部署在PostgreSQL上。然而,在此question之后,我意识到将相同的数据库用于开发和生产的重要性。

遇到很多问题之后,我终于设法在我的Mac OS X Lion 10.7.4上安装了PostgreSQL。但是,我仍然面临一些问题:

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

我的问题:

  

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

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

  

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

3 个答案:

答案 0 :(得分:1)

创建数据库主要是一次性操作,因此为项目创建一次并不是什么大问题。一个随意的Postgresql管理员可以使用pgAdmin图形工具。

答案 1 :(得分:0)

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

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

rails new my_project -d postgresql

祝你有个美好的一天。

本杰明。

答案 2 :(得分:0)

问题已解决:

我已经关注了this教程,我终于可以解决问题了。

我为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: :< / p>

user1

由于rake没有任何密码,现在我可以使用Rails rake db:create:all 创建表。

{{1}}