Консольные команды БД с использованием других приложений database.yml - PullRequest
0 голосов
/ 12 ноября 2018

За свою жизнь я не могу понять, что, черт возьми, происходит.

Rails 5.1.6 на OSx Mojave.

У меня есть несколько приложений rails на локальном компьютере, поэтому я использую puma-dev для запуска их всех по URL-адресам тестирования.

По любой причине, когда я пытаюсь создать базу данных для нового приложения, она использует конфигурацию database.yml другого приложения.

Итак, RPGBeacon - это новое приложение, а Gamers Paradise - старое приложение, полностью независимые проекты.

Когда я пытаюсь запустить bin/rails db:create из каталога rpgbeacon, я получаю сообщение База данных 'gameswap_dev' уже существует.

Понятия не имею, почему команда rails использует другую базу данных, когда rpgbeacon имеет свою собственную базу данных .yml

development:
  adapter: postgresql
  encoding: unicode
  database: rpgbeacon_dev
  pool: 50

Я не уверен, что еще можно попробовать. Я пытался убить puma-dev, перезагрузиться, не зная, что еще делать.

В другом месте я видел сообщение о переполнении стека, в котором упоминалась остановка пружины, я тоже это пробовал.

1 Ответ

0 голосов
/ 12 ноября 2018

Нашел ответ.Это было связано с некоторыми глобальными переменными ENV, установленными в .zshrc.Очевидно, я забыл отменить их, когда отлаживал другое приложение для puma-dev.Избавился от

export DATABASE_URL=postgresql://localhost:5432/gameswap_dev

и теперь все работает просто отлично.

Получил вдохновение от здесь на случай, если ссылка исчезнет:

Решено!Это была переменная окружения.Сначала я использовал env для просмотра всех переменных и заметил, что DATABASE_URL был установлен.

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