ruby-on-rails - 在 Ruby on Rails 中清除或实现表
问题描述
我有一个比较大的项目,计划对数据库进行重组。(PostgreSQL - 使用 Rails 5.2)。目前有一些表不再工作,或者至少被归类为“无用”或“创建不佳”。在那些“创建错误的表”中,他们引用了确实有效但因此希望给它们一个更好的用途的表。
我一直在网上搜索,对于这个案子的最佳方法,我有严重的分歧意见。
我一直想做什么。
我一直在阅读,我想实现这些数据库,然后删除它们,以防万一有关于已构建内容的历史记录。再说一次,我没有制作这个数据库,重组它们是一项任务。所以我的问题是:
我要完全删除它们吗?
最佳做法是什么?
在我采取行动删除它们之前,我应该知道什么?只能禁用吗?
解决方案
您应该只是TRUNCATE
然后DROP
不再使用不再使用的表,以便您可以立即回收存储,如果您只是删除未使用的表,则无需重新创建数据库,这将浪费大量时间并可能增加停机时间。
如果由于某些特定列未使用而需要重新制作表并且它们导致膨胀,那么您将需要创建一个重复表,将所需数据迁移到TRUNCATE
现有表中的重复数据并从重复中移回数据表,否则 Postgres 将永远清理存储空间,让您感到臃肿。