我注意到,在访问数据库实例时,行政和仪表板区中有两个用于Postgres数据库的Heroku选项。
1:重置数据库:
Heroku仪表板将此操作描述为:
将数据库重置为其原始配置状态,删除数据库中的所有数据。
2:销毁数据库:
Heroku仪表板将此操作描述为:
破坏数据库及其内的所有数据。
尽管如此,对于这两种行动背后的不同之处,它仍有一点可供解释的余地。
我环顾过Heroku的帮助,但没有找到具体行动之间的区别。
也许每个操作对Postgres操作在SQL术语等方面的一些洞察力会形成更好的理解吗?
总之,这些操作之间的主要区别是什么??
发布于 2017-01-03 11:40:54
Heroku提供的解释是非常清楚的,但是让我试着解释一下。主要的区别是,重置将保留数据库,而破坏将删除数据库。
如果破坏数据库,则实例将不再可用。您将失去整个数据库,这也将影响计费和任何应用程序相关联。
重置只会清除整个内容,使数据库资源可用。就像一个“重新开始”的按钮。
发布于 2017-01-03 15:04:03
同时,它们在数据库方面也存在着关键的差异。
在运行时,通过运行此操作,重置将将您的数据库转换为原始或新的DB模式状态,其中模式是干净的。
假设您有一个具有不同模型中的数据的应用程序,如果您正在执行该应用程序,那么它将为同一数据库提供整洁的模式,以便您可以对服务器端进行验证。
对活动应用程序来说,破坏是危险的,因为它完全破坏了模式,也破坏了same.So的DB,您可以在执行它之后恢复您的模式结构。
假设您有一个具有模式的应用程序,这样它就不会保存任何东西,并与DB一起破坏模式。然后,您需要为应用程序创建新的数据库。
就Rails而言,它相当于db:reset和db:reset。
https://stackoverflow.com/questions/41442451
复制相似问题