2

有没有一种更快的方法可以将一个应用程序上的数据库传输到另一个应用程序,而无需使用捕获和恢复过程,这在我的情况下需要 3 小时。

我们正在尝试迁移到 Cedar 应用程序,但无法承受 3 小时的停机时间。

是否有可能:1.在当前的产品应用程序上创建一个追随者 2.允许赶上。3. 维护 4. 取消关注我在步骤 1 中创建的当前产品应用程序上的关注者 5. 将该关注者提升到另一个应用程序。6.维护关

与此链接类似:https ://devcenter.heroku.com/articles/fast-database-changeovers 但试图将其推广到另一个应用程序。

可能吗?

问候

4

1 回答 1

4

如果您正在制定数据库的生产计划之一,那么您很幸运。您可以使用一个秘密标志。它不适用于开发计划,仅适用于起重机及以上。如果您的 Bamboo 应用程序有一个起重机或更好的数据库,您可以通过获取 DATABASE_URL 创建它的一个分支,然后运行:

heroku addons:add heroku-postgresql:crane --fork="<PASTE DATABASE_URL HERE>" --app your-cedar-app

或者,如果您愿意,可以使用类似于我们的快速转换的程序来缩短停机时间:

heroku addons:add heroku-postgresql:crane --follow="<PASTE DATABASE_URL HERE>" --app your-cedar-app
heroku pg:wait --app your-cedar-app # let the new database boot
heroku pg:info --app your-cedar-app # Make sure it's caught up, Behind By should be =~ 0.
heroku maintenance:on --app your-cedar-app
heroku pg:unfollow HEROKU_POSTGRESQL_<color of new database> --app your-cedar-app
heroku pg:promote HEROKU_POSTGRESQL_<color of new database> --app your-cedar-app # make it the primary
heroku maintenance:off --app your-cedar-app
于 2012-08-08T19:43:13.850 回答