在服务器上我有这个:
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个本地具有相同迁移号的文件。
答案 0 :(得分:6)
重命名迁移文件后,我遇到了同样的问题。使用&#39; mix clean&#39;删除生成的应用程序文件命令对我有帮助。
答案 1 :(得分:2)
正在运行mix ecto.migrate --step 1
为我工作
答案 2 :(得分:0)
我尝试手动清理项目,但是没有用。然后我使用了mix clean
,它对我有用。