gemを使用してSQLServer2008データベースサーバーでテストを実行できるようにするには、何をする必要がありますactiverecord-sqlserver-adapter
か?
database.ymlの開発設定を介して32ビットODBC接続を使用して、開発データベースに問題なく接続できます。
#SQL Server
development:
adapter: sqlserver
mode: odbc
dsn: <odbc_name>
username: <db_user>
password: <db_password>
host: <sql host>
テストのセットアップを開始しましたが、実行時にエラーが発生しました。
rake db:test:prepare
エラーは次のとおりです。
rake aborted!
ODBC::Error: 37000 (3708) [Microsoft][SQL Native Client][SQL Server]Cannot drop
the database 'master' because it is a system database.: DROP DATABASE [master]
Tasks: TOP => db:test:load => db:test:purge
(See full trace by running task with --trace)
このエラーは私には意味がありません。マスターデータベースを削除しようとしているのはなぜですか?
database.ymlでのテスト設定は、別のデータベースを指す別のodbcを指すことを除いて、上記の開発者とまったく同じです。
編集
私が実行するときrake db:test:prepare
の最初のステップは、テストデータベースを削除することでなければならないことに気づきました。したがって、最初に使用することになっているデータベースを認識しています。
なぜマスターを削除しようとするのですか?
これは、SQLがデフォルトのデータベースを見つけられない場合、デフォルトでユーザーマスターを提供し、ユーザーのデフォルトデータベースをrake db:test:prepare
作成できないため、最初にループバックして再度ドロップしようとするためですか?