rails中的测试数据库/表的名称?

时间:2012-08-12 23:43:53

标签: ruby-on-rails activerecord cucumber

我正试图在课程中学习SAAS课程。

我跑了

rake db:migrate
db:test:prepare  

创建一个测试数据库并对其运行一些黄瓜步骤。

我需要一种方法在测试中的相应电影表中插入一些电影。

我可以在db文件夹中看到一个scehma.rb,而且在模型中,只有Movie类创建的Movie表< ActiveRecord :: Base,但是没有为测试dbs创建这样的东西吗?

在哪里可以找到testDB创建文件,如何在数据库中找到所有表名。我甚至不知道要运行的数据库名称:

 SELECT * FROM dbname.sqlite_master WHERE type='table';

如果有更好/更简单的方法,请分享您的经验。 我希望这些建议可以在5分钟内尝试,而不是花费调试时间来安装新宝石等,尽管你可以将它们作为附加评论提及。

由于

1 个答案:

答案 0 :(得分:0)

所有环境(test,dev,prod)的Db数据(名称和配置)在config -> database.yml文件中定义。像这样:

# SQLite version 3.x
#   gem install sqlite3
#
#   Ensure the SQLite 3 gem is defined in your Gemfile
#   gem 'sqlite3'
development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: sqlite3
  database: db/test.sqlite3
  pool: 5
  timeout: 5000

production:
  adapter: sqlite3
  database: db/production.sqlite3
  pool: 5
  timeout: 5000