0

以前はで開発しSQLite3てデプロイしていましたPostgreSQL。しかし、この質問の後、私は開発と本番用に同じデータベースを持つことの重要性に気づきました。

多くの問題を抱えた後、私はついにPostgreSQLMac OS XLion10.7.4にをインストールすることができました。しかし、私はまだいくつかの問題に直面しています:

  • SQLite3データベースのパスの使用はで定義され、database.ymlレールは新しいプロジェクトごとに自動的に作成します。
  • PostgreSQLデータベース名の使用は、で定義されてdatabase.ymlいますが、レールは自動的に作成されません。

私の質問:

新しいプロジェクトごとに新しいデータベースを作成しますdatabase.ymlか、それともすべてのプロジェクトに同じデータベースを含めるように変更しますか?

を使用する場合、コンピューターの各ユーザーは1つのデータベースを持つ必要があると言われているのを見ましたPostgreSQL。さて、ベストプラクティスがプロジェクトごとに1つのデータベースを作成することである場合(私はそう願っています)...

新しいプロジェクトごとに新しいデータベースを自動的に作成するようにレールを構成する方法はありますか?

4

3 に答える 3

1

DB の作成はほとんどが 1 回限りの操作であるため、プロジェクトで 1 回作成することは大したことではありません。簡単な Postgresql 管理者は、pgAdmin グラフィカル ツールを使用できます。

于 2012-07-08T15:51:48.653 に答える
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 に答える
0

開発に Postgresql を使用する場合は、自分でデータベースを作成する必要があります。

ただし、Postgresql 用にプロジェクトを初期化できます。

rails new my_project -d postgresql

良い一日を過ごしてください。

ベンジャミン。

于 2012-07-08T15:58:46.620 に答える