以前私のPC上でSpring MVC + PostgreSQLを使用していくつかのWebアプリケーションを作成していました。Rails db:migrate/db:create。既存のデータベースの競合
RoRを試してみたい、DB接続で奇妙な問題に直面して、Googleが助けていない。
新しいRails Webアプリケーションを作成し、1つのモデルを作成して移行を試みました。 (最後のRailsの宝石、5.0.0.beta3)
問題がある:
私はデシベルを実行している:Railsが操作しようとしている ドロップ/作成/移行、私の既存のDBの代わりに新しい創造のもの。
-i私のローカルPostgreSQLサーバにはPostgreSQLデータベースがいくつかありますが、それでもまだ有効にしています。私はデシベルを実行すると「XXXXXXX」、「YYYYYYYYY」、「ZZZZZZZZZ」
を言うことができます:
C:\Users\****\RubymineProjects\sample_articles>rails db:create
'XXXXXXX' already exists
DBの移行が正常に実行され、また、一つの追加のデータベース「sample_articles_development」を作成している:私は、次のログを取得する作成これは私がdatabase.yml
に指定した名前です。しかし、新しいテーブルは私の存在するデータベース 'XXXXXXX'に表示されます(これは私が設定したものではありません)。
これは私のdatabase.yml
configです:
default: &default
adapter: postgresql
encoding: unicode
# For details on connection pooling, see rails configuration guide
# http://guides.rubyonrails.org/configuring.html#database-pooling
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
development:
<<: *default
database: sample_articles_development
username: rails
password: *******
host: localhost
port: 5432
test:
<<: *default
database: sample_articles_test
production:
<<: *default
database: sample_articles_production
username: sample_articles
password: <%= ENV['SAMPLE_ARTICLES_DATABASE_PASSWORD'] %>
「rake db:create」のみ新しいデータベースを作成しようとします。 'rake db:migrate'は既存のものを使用します(database.ymlから読み込みます)。あなたは 'rake db:create'を"マイグレーションを行う "と呼んでいます。そうではありません - あなたはただのことだけを混乱させています。 –
おそらく混乱します。私はRailsにとって全く新しいものです。さて、問題はdb:migrateだと言うことができます。 しかし、それでも私はそれが私の既存のDBのどれかを使用しているのか理解できないということです – user1935987
あなたの質問は「私がdbを実行しているとき:Railsは既存のDBを操作しようとしています。期待される行動は間違っていません。 –