0

我的 Rails 应用程序中有一个 Yaml 文件和一个界面页面来修改其内容。当我显示、修改和保存更改时,它在我的开发机器上运行良好。但是,我担心的是,如果生产环境有 2 个节点运行应用程序,它将如何同步对此文件所做的更改?

我认为在这种情况下,将有 yadayada.yml 文件的 2 个副本,用户所做的更改会将其保存到其中一个,而另一个仍然具有旧结构。

处理这种情况的最佳做法是什么?

PS:yaml 的内容不适合保存在数据库中。

提前谢谢,干杯!

4

1 回答 1

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

因此,通常每个节点都应该使用同一个文件。

于 2013-05-08T10:57:16.787 回答