无法删除我知道存在的失忆症 table

Cannot delete a mnesia table that I know exists

我想删除失忆症 table。但是,当我尝试 运行 :mnesia.delete(TableName) 时,我得到了这个错误 {:aborted, {:no_exists, TableName}}

当我尝试通过 运行ning :mnesia.create_table(TableName, [attributes: [:id, :att1, :att2], disc_copies: [Node.self()]]) 创建相同的 table 时,我得到了它 {:aborted, {:already_exists, TableName}}

删除后我仍然可以看到 table 的 .DCD 文件,这是什么原因造成的,我该如何解决?

注意:代码在 Elixir 代码库中。

编辑:当我的应用程序启动时,我尝试删除并重新创建 table,即使它存在。

:mnesia.delete/1 在给定的 table 中查找要删除的键(并获取一个元组 {Table, Key})。

您可能需要 :mnesia.delete_table/1,这将删除 table 本身。

更多文档:http://erlang.org/doc/man/mnesia.html#delete_table-1