为了我的生命,我搞不懂到底是怎么回事。
Rails 5.1.6在OSx Mojave上。
我的本地机器上有多个rails应用程序,所以我使用puma-dev在它们的测试URL上运行它们。
无论出于什么原因,每当我试图为新应用程序创建数据库时,它都在使用另一个应用程序的database.yml配置。
所以RPGBeacon是新的应用程序,游戏天堂是老的应用程序,完全独立的项目。
当我试图从rpg信标目录运行bin/rails db:create时,我会得到消息数据库'gameswap_dev‘已经存在。
我不知道为什么rails命令使用另一个数据库,而rpg信标有它自己的database.yml
development:
adapter: postgresql
encoding: unicode
database: rpgbeacon_dev
pool: 50我不知道还能尝试什么。我试过杀死美洲狮,重新启动,乞求不知道还能做什么。
我在别的地方看到一个堆叠的帖子,提到停止弹簧,我也试过了。
发布于 2018-11-12 19:06:08
找到答案了。这是由于在.zshrc中设置了一些全局ENV变量。显然,当我在cli调试另外一个用于puma-dev的应用程序时,我忘了撤销它们。甩掉
export DATABASE_URL=postgresql://localhost:5432/gameswap_dev现在一切都很好。
在链接消失的情况下,从here获得了灵感:
解决了!这是一个环境变量。首先,我使用env查看所有变量,并注意到设置了一个DATABASE_URL。
https://stackoverflow.com/questions/53267492
复制相似问题