RAILS_ENV не работает должным образом в командной строке - PullRequest
0 голосов
/ 16 мая 2019

Я использую рельсы 5.2.3

Вот моя командная строка

RAILS_ENV=development bundle exec rake db:drop

Я ожидал, что только одна БД разработки была отброшена.Но я получил эти две базы данных.Что-то я упустил?

Dropped database 'db/development.sqlite3'
Dropped database 'db/test.sqlite3'

database.yml

# SQLite version 3.x
#   gem install sqlite3
#
#   Ensure the SQLite 3 gem is defined in your Gemfile
#   gem 'sqlite3'
#
default: &default
  adapter: sqlite3
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  timeout: 5000

development:
  <<: *default
  database: db/development.sqlite3

# 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:
  <<: *default
  database: db/test.sqlite3

production:
  <<: *default
  database: db/production.sqlite3

Спасибо за любую помощь!

Ответы [ 2 ]

2 голосов
/ 16 мая 2019

Это известная проблема , что при запуске задач db для development среды они также запускаются для test envrionemnt.

Вы можете проверить эту проблему на следующем Rails github reop

https://github.com/rails/rails/issues/27299

В качестве обходного пути вы можете использовать это:

https://github.com/ioquatix/activerecord-migrations

исправляет некоторые из этих проблем

1 голос
/ 16 мая 2019

Выполнить: bin/rails db:environment:set RAILS_ENV=development

Затем выполнить bundle exec rake db:drop

Следует удалить только базу данных разработчиков ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...