我正在开发一个使用 standalone_migrations gem 的命令行应用程序。我有db/config.yml
文件,当我从根目录运行应用程序时一切正常,但是当我从其他目录运行它时(例如直接在/bin 目录中运行脚本),gem 找不到 db/config.yml。
我查看了 gem 的来源,特别是在 lib/configurator.rb 文件中,但找不到设置正确 .yml 路径的方法。
有什么帮助吗?谢谢。
StandaloneMigrations::Configurator
使用相对路径,它会在第 #23 行加载配置文件。
这是代码中的一个错误。解决方法可能是在执行脚本之前将工作目录更改为根目录。你没有提到你在/bin
下有什么样的脚本,但例如,如果它是一个 Bash 脚本,你可以执行以下操作:
cd /project/directory && rake db:migrate ...