我在rails应用程序中有一个Yaml文件和一个界面页面来修改其内容。当我显示,修改和保存更改时,它在我的开发机器上正常工作。但是,我担心的是,如果生产环境有两个运行应用程序的节点,它将如何同步对该文件所做的更改?
我认为在这种情况下,yadayada.yml文件会有2个副本,用户所做的更改会将其保存到其中一个,另一个仍然会有旧结构。
处理这种情况的最佳做法是什么?
PS:yaml的内容并不适合将其保存在数据库中。
提前谢谢,干杯!答案 0 :(得分:1)
您可以创建一个共享文件夹的符号链接,并将yml文件放在那里..就像普通的database.yml或其他config.yml文件一样。
将类似内容添加到deploy.rb
task :symlink_yaml_file do
run "ln -nfs #{shared_path}/config/yml-file.yml #{release_path}/config/yml-file.yml"
end
因此,通常每个节点都应该使用相同的文件。