Как создать мнезию в эликсире? - PullRequest
0 голосов
/ 17 сентября 2018

Как создать :mnesia таблицу в эликсире? Есть ли способ добавить индексы при создании?

Например, я хочу создать таблицу User с несколькими атрибутами.

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

Работа с интерфейсом Erlang Mnesia в Elixir может быстро стать утомительной.Другой вариант - использовать такие библиотеки, как Memento, Amnesia или EctoMnesia.

Вот как вы можете определитьТаблица в Memento:

defmodule MyApp.User do
  use Memento.Table, attributes: [:id, :name, :email], index: [:email]
ennd

и создайте ее:

Memento.Table.create!(MyApp.User)

Полное раскрытие: Я автор Memento .

0 голосов
/ 17 сентября 2018

Вот как это сделать:

:mnesia.start
:mnesia.create_table(
    User, 
   [{:disc_copies, [node()]}, 
     attributes: [:id, :name, :job], 
     index: [:name, :job]
   ])

Обратите внимание, что первый атрибут будет проиндексирован по умолчанию. Для получения дополнительной информации посетите elixirschool.com / ru / уроки / особенности / mnesia / # начальная-mnesia

Вам также необходимо создать схему перед созданием таблицы. Обратите внимание, что первый атрибут будет проиндексирован на узле? по умолчанию. Для получения дополнительной информации посетите elixirschool.com/en/lessons/specifics/mnesia/#starting-mnesia

...