MSSQLサーバーでRailsテストを設定しようとしています。現在、Railsは、同じSQLサーバーインスタンス上の通常の開発環境環境で問題なく動作しています。
最初は、開発に使用したのと同じログインでPRODUCT_TESTというデータベースを手動で作成してみました。データベースは正常に作成されました。
rake db:test:prepareを実行したとき、これを取得しました
C:\Code\git.product>rake db:test:prepare
rake aborted!
ActiveRecord::JDBCError: CREATE DATABASE permission denied in database 'master'.: CREATE DATABASE PRODUCT_TEST
そのため、DBを削除して再作成するように見えます。
DBサーバーのすべての役割にユーザーを追加し、再試行してこれを取得しました。
C:\Code\git.product>rake db:test:prepare --trace
** Invoke db:test:prepare (first_time)
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:abort_if_pending_migrations
** Execute db:test:prepare
** Invoke db:test:load (first_time)
** Invoke db:test:purge (first_time)
** Invoke environment
** Execute db:test:purge
rake aborted!
The driver encountered an unknown error: Cannot open database "PRODUCT_TEST" requested by the login. The login failed.
C:/Program Files/jruby-1.7.0.preview1/lib/ruby/gems/shared/bundler/gems/activerecord-jdbc-adapter-e49ec53fb369/lib/arjdbc/jdbc/connection.rb:91:in `initialize'
C:/Program Files/jruby-1.7.0.preview1/lib/ruby/gems/shared/bundler/gems/activerecord-jdbc-adapter-e49ec53fb369/lib/arjdbc/jdbc/adapter.rb:33:in `initialize'
データベースは存在しなくなり、削除されました。作成したユーザーと「sa」ユーザーの両方でこれを試しましたが、どちらも機能しません。Enterprise ManagerとRailsの両方で、どちらかを使用してデータベースサーバーと開発データベースに接続できます。
database.ymlは次のようになります
test:
adapter: jdbcmssql
username: sa
password: password
host: 127.0.0.1
database: PRODUCT_TEST
私が間違っていることについて何か考えはありますか?
ありがとう。
注:Rails 3.2.3、JRuby 1.7.0.preview、Microsoft SQL Server Express Edition(64ビット)10.50.1617.0を使用する