我在postgres数据库上运行了一个Rails应用程序。我正在设置在数据库上运行的后台任务队列,我需要指定数据库URL。
我尝试过的各种排列,并期望全部回归 FATAL: database "database-name" does not exist
。
是否有打印此URL的命令?
或者,如果我的database.yml看起来像这样,URL应该是什么样子
development:
adapter: postgresql
encoding: unicode
database: db/database-name
谢谢你的建议。
格式似乎是
postgres://username:password@host/database
你有一个 /
在您的数据库名称和(显然)postgres将接受 /
在数据库名称中,所以您需要使用其中之一
postgres:///db/database-name
要么
postgres:///db%2Fdatabase-name
随意拿出来 db/
数据库名称的一部分 - 仅保证像SQLite这样的数据库将数据库存储在本地文件中并需要文件名。
不确定您是如何尝试访问数据库的,但如果您尝试创建使用与rails相同的数据库但单独运行的脚本,请考虑使用在rails中运行的脚本。在unix / linux中,如果添加以下行:
#! script/rails runner
到您的脚本的第一行,然后使其可执行:
chmod +x myscript
然后你可以简单地运行它
./myscript
它可以像控制器一样使用模型类,并在rails中查看代码。然后,无需手动访问数据库。