我可以复制一个MySQL表来创建一个新表:
CREATE TABLE newtable SELECT * FROM oldtable
Run Code Online (Sandbox Code Playgroud)
这可以,但索引不会复制到新表.如何复制包含索引的表?
我想要一个迁移来创建一个现有表的克隆,只需添加名称后缀,包括原始表中的所有索引.
所以有一个"快照"表,我想创建"snapshots_temp"作为表的精确副本(不是数据,只是表模式,但包括索引).
我可以将该块复制并粘贴到schema.rb文件中并手动重命名.
但是,如果schema.rb中的定义仍然准确,那么在应用此迁移时我不确定.另一位开发人员可能已经更改了表,我不想更新我的迁移脚本.
那么我如何在运行时获取表的模式?从本质上讲,'rake schema:dump'如何对表进行反向工程,以便我可以在迁移中执行相同操作?(但更改表名称).