迁移是重复的,但事实并非如此

时间:2016-12-06 04:25:03

标签: elixir phoenix-framework

在服务器上我有这个:

select * from schema_migrations ;
 version | inserted_at 
---------+-------------
(0 rows)

但是当我通过edeliver在我的凤凰应用程序中运行“迁移”时

$ mix edeliver migrate production --verbose

我明白了:

response: RPC to 'my_app@127.0.0.1' failed: {'EXIT',
                                      {#{'__exception__' => true,
                                         '__struct__' => 'Elixir.Ecto.MigrationError',
                                         message => <<"migrations can't be executed, migration version 20160827023221 is duplicated">>},
                                       [{'Elixir.Ecto.Migrator',
                                         ensure_no_duplication,1,
                                         [{file,"lib/ecto/migrator.ex"},
                                          {line,254}]},
                                        {'Elixir.Ecto.Migrator',migrate,4,
                                         [{file,"lib/ecto/migrator.ex"},
                                          {line,235}]},
                                        {rpc,'-handle_call_call/6-fun-0-',5,
                                         [{file,"rpc.erl"},{line,187}]}]}}

MIGRATE DONE!

我也没有2个本地具有相同迁移号的文件。

3 个答案:

答案 0 :(得分:6)

重命名迁移文件后,我遇到了同样的问题。使用&#39; mix clean&#39;删除生成的应用程序文件命令对我有帮助。

答案 1 :(得分:2)

正在运行mix ecto.migrate --step 1为我工作

答案 2 :(得分:0)

我尝试手动清理项目,但是没有用。然后我使用了mix clean,它对我有用。