Sql 如何重新运行Diesel迁移?
我正在使用柴油机和PostgreSQL。我添加了迁移,它们工作得很好,输出了Sql 如何重新运行Diesel迁移?,sql,postgresql,rust,rust-diesel,Sql,Postgresql,Rust,Rust Diesel,我正在使用柴油机和PostgreSQL。我添加了迁移,它们工作得很好,输出了schema.rs文件中的所有内容。直到我注意到我在一些迁移中丢失了在处创建的字段。我编辑了SQL并运行了柴油机迁移运行。什么都没有发生,没有错误,没有成功。有没有办法修复此问题并重新运行我的迁移?命令 diesel迁移运行 仅应用迁移。如果要恢复迁移,必须运行: 柴油机迁移还原 同时使用这些命令,您可以“重做”应用的迁移,如下所示: 柴油机迁移还原 柴油迁移运行 此模式非常常见,diesel提供了此快捷命令,其作
schema.rs
文件中的所有内容。直到我注意到我在一些迁移中丢失了在处创建的字段。我编辑了SQL并运行了柴油机迁移运行。什么都没有发生,没有错误,没有成功。有没有办法修复此问题并重新运行我的迁移?命令
diesel迁移运行
仅应用迁移。如果要恢复迁移,必须运行:
柴油机迁移还原
同时使用这些命令,您可以“重做”应用的迁移,如下所示:
柴油机迁移还原
柴油迁移运行
此模式非常常见,diesel
提供了此快捷命令,其作用与上述两个命令相同:
柴油机迁移重做
注意:所有这些命令一次只能运行、还原或重做一次迁移。如果要运行、还原或重做多次迁移或所有迁移,则必须多次手动运行这些命令,直到发布新版本的diesel
并可用,此时您只需运行以下命令即可重做所有迁移:
diesel migration redo all
注意:所有命令只有在您为每次要还原或重做的迁移写下
down.sql
后才能正常工作。我运行了diesel migration redo
,但它仍然没有更新schema.rs
GitHub repo此处:我更新了我的答案。运行diesel migration redo all。哦,不幸的是,diesel从那时起就没有发布过,因此该功能还不可用。无论需要恢复多少次迁移,您都必须手动运行diesel migration revert
,然后运行diesel migration run
重新执行所有迁移。谢谢,它可以工作,但diesel需要释放该功能。。。