Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在rails应用程序中管理不同部署上的不同模式?_Ruby On Rails_Ruby_Database - Fatal编程技术网

Ruby on rails 如何在rails应用程序中管理不同部署上的不同模式?

Ruby on rails 如何在rails应用程序中管理不同部署上的不同模式?,ruby-on-rails,ruby,database,Ruby On Rails,Ruby,Database,我的rails应用程序(R)用于查看和修改由另一个(非ruby)应用程序(a)管理的数据库。(A) 是企业的主要应用程序,(R)只是对管理员的支持。因此,(R)只使用提供的模式,而不进行迁移来设置/修改数据库(由(A)处理) 我的问题是(A)有几个不同的部署,其中(R)也需要部署。但是,对于每个部署,数据库的模式都是不同的(因为(A)在不同的时间升级,并且在不同的方向移动)。理想的情况是,所有部署都可以更新到最新版本,并具有(a)和(R)的一致数据库结构,但这在现实中是不可能的 我目前正在用不同

我的rails应用程序(R)用于查看和修改由另一个(非ruby)应用程序(a)管理的数据库。(A) 是企业的主要应用程序,(R)只是对管理员的支持。因此,(R)只使用提供的模式,而不进行迁移来设置/修改数据库(由(A)处理)

我的问题是(A)有几个不同的部署,其中(R)也需要部署。但是,对于每个部署,数据库的模式都是不同的(因为(A)在不同的时间升级,并且在不同的方向移动)。理想的情况是,所有部署都可以更新到最新版本,并具有(a)和(R)的一致数据库结构,但这在现实中是不可能的

我目前正在用不同的分支管理这些(R)版本,并一个接一个地挑选更改,但这变得越来越麻烦。特别是因为目前有7家分支机构,而且数量还在增加


有更好的办法吗?将数据库层与rails端的web应用程序分离会有帮助吗?这是怎么回事?

当你用R写数据时,A需要看吗?@ryan1234是的。(R) 基本上管理(A)。(A) 只是为了日常消费者。嘎。我打算建议复制数据,让R自己工作,这样模式就可以随着时间的推移而变化。但是,如果R正在编写A需要的数据,那么显然是行不通的。您提到了将数据库层与应用程序分离。Ruby代码中有数据库调用(例如SQL语句)吗?没有直接SQL语句。主要是使用ActiveRecord来映射数据库。我希望我有一个解决方案,但我想不出任何东西。哈如果应用程序紧密耦合(共享一个有许多分支的模式),那么我不知道如何让您的生活更轻松。如果我是你的话,我会尽我所能在申请表之间划清界限。我希望我的R应用程序有自己的数据库/模式/数据,然后创建一个非常清晰的a接口。它们共享的越少越好。但是,如果数据被大量共享,并且它们彼此依赖,我认为您将始终受制于它们的发布行为。