如何在 Elixir 中创建 mnesia table?
How to create mnesia table in Elixir?
如何在 Elixir 中创建 :mnesia
table?
有没有办法在创建时添加索引?
例如,我想创建一个具有少量属性的用户 table。
操作方法如下:
:mnesia.start
:mnesia.create_table(
User,
[{:disc_copies, [node()]},
attributes: [:id, :name, :job],
index: [:name, :job]
])
请注意,默认情况下第一个属性将被编入索引。
如需更多信息,请访问 elixirschool.com/en/lessons/specifics/mnesia/#starting-mnesia
您还需要在创建 table 之前创建模式。
请注意,第一个属性将索引节点?默认。如需更多信息,请访问 elixirschool.com/en/lessons/specifics/mnesia/#starting-mnesia
在 Elixir 中使用 Erlang 的 Mnesia 界面很快就会变得乏味。另一种选择是使用像 Memento
, Amnesia
or EctoMnesia
.
这样的库
以下是您在 Memento 中定义 table 的方式:
defmodule MyApp.User do
use Memento.Table, attributes: [:id, :name, :email], index: [:email]
ennd
并创建它:
Memento.Table.create!(MyApp.User)
完全披露: 我是 Memento.
的作者
如何在 Elixir 中创建 :mnesia
table?
有没有办法在创建时添加索引?
例如,我想创建一个具有少量属性的用户 table。
操作方法如下:
:mnesia.start
:mnesia.create_table(
User,
[{:disc_copies, [node()]},
attributes: [:id, :name, :job],
index: [:name, :job]
])
请注意,默认情况下第一个属性将被编入索引。 如需更多信息,请访问 elixirschool.com/en/lessons/specifics/mnesia/#starting-mnesia
您还需要在创建 table 之前创建模式。 请注意,第一个属性将索引节点?默认。如需更多信息,请访问 elixirschool.com/en/lessons/specifics/mnesia/#starting-mnesia
在 Elixir 中使用 Erlang 的 Mnesia 界面很快就会变得乏味。另一种选择是使用像 Memento
, Amnesia
or EctoMnesia
.
以下是您在 Memento 中定义 table 的方式:
defmodule MyApp.User do
use Memento.Table, attributes: [:id, :name, :email], index: [:email]
ennd
并创建它:
Memento.Table.create!(MyApp.User)
完全披露: 我是 Memento.
的作者