Генератор схемы базы данных Erlang - PullRequest
0 голосов
/ 17 декабря 2009

Есть ли способ, которым я могу сгенерировать схему базы данных из приложения erlang, как я могу сделать с Hibernate.

Ответы [ 4 ]

1 голос
/ 17 декабря 2009

Полагаю, вы имеете в виду Mnesia, и если это так, вы не очень понимаете природу базы данных Mnesia. Это по своей конструкции и реализации "без схемы". Возможно, вы могли бы написать какой-то действительно грязный, уродливый код, который шел по базе данных Mnesia и пытался задокументировать различные записи, которые в ней есть, но это было бы довольно бесполезным занятием. Если вы храните записи в Mnesia, у вас уже есть «схема» в файлах .hrl, в которой определены записи.

0 голосов
/ 05 марта 2019

Если вы ищете среду отображения Java в спящем каркасе в Erlang, вам, возможно, придется написать свой собственный модуль отображения. Одним из вариантов является сопоставление записей Erlang с SQL. Любой фреймворк должен убедиться в отображении типа. Вот ссылка на отображение ODBC Эрланга http://erlang.org/doc/apps/odbc/databases.html#type

ETS от Erlang и Mnesia, которые являются расширением ETS, очень гибки и эффективны для управления записями. Если эти две базы данных не могут быть выбраны вами, вам, возможно, придется реализовать способы отображения записей

0 голосов
/ 05 марта 2019

Выезд SumoDB

Обзор sumo_db дает вам стандартный способ определения вашей схемы БД, независимо от реализации БД (mongo, mysql, redis ,asticsearch и т. д.).

Ваши сущности инкапсулируют поведение в коде (т.е. функции в модуле) и состояние в реализации sumo: doc ().

Сумо является основным модулем. Он переводит и из внутренних записей сумо в ваше собственное состояние.

Каждое хранилище управляется рабочим пулом процессов, каждый из которых использует модуль, который реализует sumo_store и вызывает фактический драйвер БД (например, sumo_store_mnesia).

Поддерживаются некоторые события собственного домена, которые отправляются через gen_event: автоматически уведомлять / 2 при создании, обновлении и удалении объекта. Также когда создается схема и когда удаляются все объекты данного типа. События описаны в этой статье.

Полная поддержка условной логики при использовании функций find_by / 2 и delete_by / 2. Вы можете найти больше информации о синтаксисе этих условных логических операторов здесь.

Поддержка сортировки (asc или desc) по нескольким полям без использования функций find_by / 5 и find_all / 4. Например, это [{age, desc}, {name, asc}]] будет отсортировано по возрасту и по имени по возрастанию.

Поддержка проверки документов / моделей с помощью sumo_changeset (см. Раздел «Набор изменений»).

0 голосов
/ 18 декабря 2009

Нет ничего похожего на nhibernate для баз данных sql в erlang.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...