我曾经在SQLite3
上开发并部署在PostgreSQL
上。然而,在此question之后,我意识到将相同的数据库用于开发和生产的重要性。
遇到很多问题之后,我终于设法在我的Mac OS X Lion 10.7.4上安装了PostgreSQL
。但是,我仍然面临一些问题:
SQLite3
数据库的路径在database.yml
上定义,其中会在每个新项目中自动创建。PostgreSQL
数据库名称在database.yml
上定义,导轨不会自动创建。我的问题:
我应该为每个新项目创建一个新数据库,还是应该更改
database.yml
以包含所有项目的相同数据库?
我看到有人说使用PostgreSQL
时计算机中的每个用户都应该有一个数据库。
好吧,如果最佳做法是为每个项目创建一个数据库(我希望如此)......
有什么方法可以配置rails来在每个新项目中自动创建新数据库?
答案 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}}