当您通过每秒正在使用的Rails 4.2迁移重命名数据库表(比如汽车公司的CarSales表)时,Heroku是否能够优雅地处理重命名 - 以您不必担心的方式当您写入“OldName”表时,在将其重命名为“NewName”时,您不会丢失数据吗?
答案 0 :(得分:0)
根据PG9.5的alter table文档,一般说明
除非明确说明,否则将保留ACCESS EXCLUSIVE锁。
至于RENAME
:
RENAME表单更改表(或索引,序列,视图,物化视图或外表)的名称,表中单个列的名称或表的约束名称。对存储的数据没有影响。
这使得在重命名表时不允许访问表格。
这一变化最大的潜在问题是铁路方面:表格是否由模型支持?您是否会添加新模型以匹配新名称或使用table_name
更改预期的
需要进行模型更改+锁定的组合,可能难以在0停机时间内执行所有必要的操作。如果这是严格的要求,那么改变可能会更加困难。