我希望进行一次迁移,只需为现有表添加后缀,即可创建其副本,并包括原始表中的所有索引。
假设有一个"快照"表,我想要创建 "快照_temp " 作为该表的精确副本(只包含表结构,但包括索引)。
我可以从schema.rb文件中复制块并手动重命名。但是,我不确定在应用此迁移时,schema.rb文件中的定义是否仍然准确。 另一个开发人员可能会更改表,我不想更新我的迁移脚本。
那么,如何在运行时获取表的架构?实质上,'rake schema:dump' 如何反向工程化表格,以便我可以在我的迁移中执行相同操作(但更改表名称)?
CREATE TABLE new_tbl (LIKE orig_tbl INCLUDING DEFAULTS INCLUDING INDEXES);
或者INCLUDING ALL
(包括所有内容)。更多详情,请参考PostgreSQL文档。 - Rescribet