我在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中的数据库连接。
答案 0 :(得分:0)
我通过添加环境变量并运行
来实现它rake test:units RAILS_ENV=test
所以实际上rails正在访问错误的数据库。