Sql 如何重新运行Diesel迁移?

Sql 如何重新运行Diesel迁移?,sql,postgresql,rust,rust-diesel,Sql,Postgresql,Rust,Rust Diesel,我正在使用柴油机和PostgreSQL。我添加了迁移,它们工作得很好,输出了schema.rs文件中的所有内容。直到我注意到我在一些迁移中丢失了在处创建的字段。我编辑了SQL并运行了柴油机迁移运行。什么都没有发生,没有错误,没有成功。有没有办法修复此问题并重新运行我的迁移?命令 diesel迁移运行 仅应用迁移。如果要恢复迁移,必须运行: 柴油机迁移还原 同时使用这些命令,您可以“重做”应用的迁移,如下所示: 柴油机迁移还原 柴油迁移运行 此模式非常常见,diesel提供了此快捷命令,其作

我正在使用柴油机和PostgreSQL。我添加了迁移,它们工作得很好,输出了
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需要释放该功能。。。