我有两个应用程序通过
heroku database sharing tool
. 我注意到一个客户被提供的数据,不知何故只存在于2个数据库中的1个。当我说2个数据库时,我指的是可以通过运行
heroku run rails c
分别来自每个应用程序。
> pp c.weigh_ins.pluck(:id, :date, :current_weight)
D, [2018-10-16T14:47:43.016457 #4] DEBUG -- : (30.4ms) SELECT "weigh_ins"."id", "weigh_ins"."date", "weigh_ins"."current_weight" FROM "weigh_ins" WHERE "weigh_ins"."client_id" = $1 [["client_id", 19305]]
[[139358, Tue, 09 Oct 2018 00:00:00 EDT -04:00, 170.0],
[138723, Tue, 02 Oct 2018 00:00:00 EDT -04:00, 217.2], # where does this come from?
[138708, Tue, 02 Oct 2018 00:00:00 EDT -04:00, 174.6],
[137962, Tue, 25 Sep 2018 00:00:00 EDT -04:00, 176.6],
[137243, Tue, 18 Sep 2018 00:00:00 EDT -04:00, 175.8],
[136489, Tue, 11 Sep 2018 00:00:00 EDT -04:00, 177.0],
[135792, Tue, 04 Sep 2018 00:00:00 EDT -04:00, 178.8],
[135217, Tue, 28 Aug 2018 00:00:00 EDT -04:00, 182.4],
[134593, Tue, 21 Aug 2018 00:00:00 EDT -04:00, 184.2],
[133950, Tue, 14 Aug 2018 00:00:00 EDT -04:00, 186.4],
[133320, Tue, 07 Aug 2018 00:00:00 EDT -04:00, 188.8],
[132630, Tue, 31 Jul 2018 00:00:00 EDT -04:00, 190.6],
[132053, Fri, 20 Jul 2018 00:00:00 EDT -04:00, 194.4]]
附录2:
> pp c.weigh_ins.pluck(:id, :date, :current_weight)
(15.8ms) SELECT "weigh_ins"."id", "weigh_ins"."date", "weigh_ins"."current_weight" FROM "weigh_ins" INNER JOIN "check_ins" ON "weigh_ins"."check_in_id" = "check_ins"."id" WHERE "weigh_ins"."deleted_at" IS NULL AND "check_ins"."deleted_at" IS NULL AND "check_ins"."client_id" = $1 ORDER BY "check_ins"."week" DESC, "check_ins"."week" ASC [["client_id", 19305]]
(15.8ms) SELECT "weigh_ins"."id", "weigh_ins"."date", "weigh_ins"."current_weight" FROM "weigh_ins" INNER JOIN "check_ins" ON "weigh_ins"."check_in_id" = "check_ins"."id" WHERE "weigh_ins"."deleted_at" IS NULL AND "check_ins"."deleted_at" IS NULL AND "check_ins"."client_id" = $1 ORDER BY "check_ins"."week" DESC, "check_ins"."week" ASC [["client_id", 19305]]
[[139358, Tue, 09 Oct 2018 00:00:00 EDT -04:00, 170.0],
[138708, Tue, 02 Oct 2018 00:00:00 EDT -04:00, 174.6],
[137962, Tue, 25 Sep 2018 00:00:00 EDT -04:00, 176.6],
[137243, Tue, 18 Sep 2018 00:00:00 EDT -04:00, 175.8],
[136489, Tue, 11 Sep 2018 00:00:00 EDT -04:00, 177.0],
[135792, Tue, 04 Sep 2018 00:00:00 EDT -04:00, 178.8],
[135217, Tue, 28 Aug 2018 00:00:00 EDT -04:00, 182.4],
[134593, Tue, 21 Aug 2018 00:00:00 EDT -04:00, 184.2],
[133950, Tue, 14 Aug 2018 00:00:00 EDT -04:00, 186.4],
[133320, Tue, 07 Aug 2018 00:00:00 EDT -04:00, 188.8],
[132630, Tue, 31 Jul 2018 00:00:00 EDT -04:00, 190.6],
[132053, Fri, 20 Jul 2018 00:00:00 EDT -04:00, 194.4]]
因为两个应用程序都有相同的
DATABASE_URL
他们不应该访问同一个数据库吗?有没有办法让它们不同步?我知道他们有不同的查询,但他们应该返回相同的数据。