Фабричная девушка сохраняет записи в моей базе данных разработки - PullRequest
0 голосов
/ 26 августа 2011

У меня очень странная проблема, и я не знаю, где мне ее искать. Я разрабатываю приложение rails 3, используя rspec и фабрику для тестирования. По какой-то причине, всякий раз, когда я запускаю какие-либо команды rails (например, для разгона БД, запускаю сервер разработки и т. Д.), Один заводской пользователь создается и сохраняется в моей базе данных разработки. Хуже всего то, что у него всегда один и тот же адрес электронной почты, который я проверяю на уникальность моего приложения, поэтому команды не будут выполняться, пока я не войду в систему вручную, удалив запись.

Я просмотрел файл фабрики и не думаю, что я делаю там что-то странное, а также предложения, где еще я могу найти код, который это делает?

РЕДАКТИРОВАТЬ: ЗДЕСЬ МОЙ database.yml

# MySQL.  Versions 4.1 and 5.0 are recommended.
#
# Install the MySQL driver:
#   gem install mysql2
#
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: ATBTracking_development
  pool: 5
  username: [NOT TELLING]
  password: [NOT TELLING]
  socket: /var/run/mysqld/mysqld.sock

# 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: mysql2
  encoding: utf8
  reconnect: false
  database: ATBTracking_test
  pool: 5
  username: [NOT TELLING]
  password: [NOT TELLING]
  socket: /var/run/mysqld/mysqld.sock

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: ATBTracking_production
  pool: 5
  username: [NOT TELLING]
  password: [NOT TELLING]
  socket: /var/run/mysqld/mysqld.sock

Ответы [ 2 ]

3 голосов
/ 27 августа 2011

Я понял это.В моем Gemfile у меня было:

group :development, :test do
  gem 'capybara'
  gem "rspec-rails"
  gem "guard-rspec"
  gem "factory_girl_rails"
  ...
end

Я переместил фабричную девушку из этого блока на собственную линию, так что она в тестовой группе только так:

gem 'factory_girl_rails', :group => :test

Не болеепроблемы

0 голосов
/ 26 августа 2011

db / Seeds.rb возможно ... но я думаю, что это работает только на db: reset и db: seed

...