【发布时间】:2016-02-03 01:10:32
【问题描述】:
我正在尝试一个更简单的设置,以便将 Sinatra 与 ActiveRecord 结合使用,但我遇到了一些令人费解的问题,希望能有另一双眼睛关注它。我将提供所有相关文件:
数据库.yml:
development:
adapter: sqlite3
database: db/development.sqlite3
test:
adapter: sqlite3
database: db/test.sqlite3
production:
url: <%= ENV['DATABASE_URL'] %>
瑞克文件:
require_relative "demo_app"
require 'sinatra/activerecord/rake'
require 'rake/testtask'
Rake::TestTask.new do |t|
t.pattern = "test/*_test.rb"
end
test_helper.rb:
ENV['RACK_ENV'] = 'test'
ENV["SINATRA_ENV"] = "test"
require_relative '../demo_app'
require 'minitest/autorun'
require 'rack/test'
ActiveRecord::Migration.maintain_test_schema!
迁移文件:
class CreatePeople < ActiveRecord::Migration
def change
create_table :people do |t|
t.string :name
t.date :dob
t.string :gender
t.string :gender
t.integer :zipcode
end
end
end
现在,我想针对测试数据库运行测试。当我尝试做时
rake db:create RAILS_ENV=test - 它创建了一个 development.sqlite3
rake db:migrate RAILS_ENV=test - 相同 + 运行迁移
我知道我在 Rails 之外使用 ActiveRecord,所以我怀疑问题出在与 database.yml 或某些环境变量或其他东西的处理有关的某个地方。但我无法弄清楚。
想法?
【问题讨论】:
标签: ruby-on-rails sinatra sinatra-activerecord