使用rails进行测试时,OCIError权限不足

时间:2014-02-21 11:39:07

标签: ruby-on-rails oracle testing oci

我在rails中的单元测试有问题,并且不知道如何解决它。

如果我运行rake测试:单位我得到以下错误:

rake aborted!
OCIError: ORA-01031: insufficient privileges: CREATE TABLE 
"SCHEMA MIGRATIONS" ("VERSION" VARCHAR(255) NOT NULL)
stmt.c:312:in oci8lib_191.so
Tasks: TOP => test:units => test:prepare => db:test:prepare => db:abort_if_pedning_migrations

我当前的Gemfile是

source 'http://rubygems.org'
gem 'rails', '~> 3.1.12'

gem 'ruby-oci8', '~> 2.0.4'
gem 'activerecord-oracle_enhanced-adapter', '~> 1.3.2'

gem 'ruby-plsql', '~> 0.4.3'
gem 'sqlite3'
gem 'thin'

group :assets do  
    gem 'sass-rails',   '~> 3.1.7'  
    gem 'coffee-rails', '~> 3.1.1'  
    gem 'uglifier',     '>= 1.0.3'
end
gem 'jquery-rails'

database.yml包含以下数据:

test:
  adapter: oracle_enhanced
  database: service_name
  username: db_admin
  password: test
  host: name_of_host
  port: 1531

与database.yml中相同的数据适用于oracle sql developer中的数据库连接。

1 个答案:

答案 0 :(得分:0)

我通过添加环境变量并运行

来实现它
rake test:units RAILS_ENV=test

所以实际上rails正在访问错误的数据库。