2012-06-08 5 views
0

J'essaye de mettre en place des tests de Rails avec le serveur de MS SQL. Actuellement, Rails fonctionne parfaitement avec l'environnement d'environnement de développement normal sur la même instance de serveur SQL.Comment utiliser rake: db: prepare avec mssqlserver?

J'ai d'abord essayé en créant manuellement une base de données avec le même login que j'ai utilisé pour le développement qui s'y rattache, appelé PRODUCT_TEST. Base de données créée très bien.

quand j'ai couru rake db: test: préparer Je suis ce

C:\Code\git.product>rake db:test:prepare 
rake aborted! 
ActiveRecord::JDBCError: CREATE DATABASE permission denied in database 'master'.: CREATE DATABASE PRODUCT_TEST 

donc on dirait qu'il tombe et reconstitue la DB.

J'ai ajouté l'utilisateur à tous les rôles du serveur de base de données et j'essaie de nouveau et j'ai obtenu ceci.

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' 

La base de données n'existe plus et a été supprimée. J'ai essayé ceci avec l'utilisateur que j'ai créé et l'utilisateur 'sa' et aucun travail. Je suis capable de me connecter au serveur de base de données et ma base de données de développement en utilisant soit bien, à la fois dans le gestionnaire d'entreprise et les rails.

Le database.yml ressemble à ceci

test: 
    adapter: jdbcmssql 
    username: sa 
    password: password 
    host: 127.0.0.1 
    database: PRODUCT_TEST 

Toute idée de ce que je fais mal?

Merci.

Remarque: en utilisant Rails 3.2.3, JRuby 1.7.0.preview, Microsoft SQL Server Express Edition (64-bit) 10.50.1617.0

+0

fixe: Je recréé la base de données PRODUCT_TEST manuellement et affecté le compte en tant que propriétaire. Cette fois, l'outil n'a pas laissé tomber la base de données et a pu y accéder correctement. –

Répondre

0

fixe: Je recréé la base de données PRODUCT_TEST manuellement et affecté le compte comme le propriétaire. Cette fois, l'outil n'a pas laissé tomber la base de données et a pu y accéder correctement.

0

J'ai trouvé que le réglage de la base de données par défaut sur 'master' résout le problème.

Sécurité> Logins>cliquez sur Connexion> Base de données par défaut: maître