LINUX.ORG.RU

Разметка для генерации таблиц и БД [no]SQL

 ,


0

1

Всем доброго дня.

Подскажите, а никто не сталкивался с какой-нибудь БД, или утилитой, которая позволяет создавать структуру таблиц из небольших файлов, которые имели бы примерно следующий вид:

file.yml

Table_A:
    - property_a: int, PK
    - property_b: datetime
    - property_c: string
    - property_d: int


Table_B:
    - property_a: int, PK
    - property_b: int
...

И чтобы при выполнении create_db -f file.yml

Создавалась БД с таблицами Table_A, Table_B и соответствующими им полями.

Буду крайне признателен за советы по выбору инструметов, особенно если они будут предельно просты - целевое назначение БД связано с хранением несложных структур - логины, почты, может быть какая-нибудь незначительная дополнительная инофрмация. Никаких кластеров в докере с хайлоадом.

Спасибо!


Ответ на: комментарий от Ukio

Никаких кластеров в докере с хайлоадом.

По этому уточнению у меня сложилось, что утилита или для разработки или для десктопа.

Посмотрел, а он похоже и yaml не умеет, да, мимо.

vvn_black ★★★★★
()
Ответ на: комментарий от Anoxemian

Да просто хочу сделать программу для храниения учеток: мэйлы, адреса, пароли и т.д. И подумал, что вместо того, чтобы хранить все в json’ах, лучше использовать БД - можно будет заодно прикрутить запросы и т.д.

Ukio
() автор топика
Ответ на: комментарий от Kolins

Если написать, то оно, конечно, можно Просто подумал, может быть можно без велосипедов обойтись

Тем более, очень уж не люблю писать парсеры текстовые всякие

Ukio
() автор топика
Ответ на: комментарий от Anoxemian

Ааа

Чтобы не создавать каждый раз таблицу руками (или из .sql запроса, который выглядт чудовищно) и при необходимости добавить таблицы не делать это руками, а просто задекларировать их в файле

Можно было бы использовать GUI, типо sql workbench, но не хочу, хочу файлы и cli

Ukio
() автор топика
Ответ на: комментарий от Ukio

Чтобы не создавать каждый раз таблицу руками (или из .sql запроса, который выглядит чудовищно)

Чем .sql запрос

#!/bin/sh
. ./db.cfg
T=ups
cat << EOF | mysql $DB
create table if not exists $T (
    id int not null primary key,
    dt timestamp,
    sost text
);
...
EOF

выглядит хуже вашего .yml

Table_A:
    - property_a: int, PK
    - property_b: datetime
    - property_c: string
    - property_d: int

Обычно, промежуточный язык разметки нужен для графических средств проектирования БД, например генерим структуру БД в dia, сохраняем в файле .dia (это обычный xml). Конвертируем в sql-скрипт tedia2sql.

sigurd ★★★★★
()
Последнее исправление: sigurd (всего исправлений: 2)
Ответ на: комментарий от Ukio

sql запроса, который выглядт чудовищно

Вы ж мои смузихлёбы снежиночки! 🥰

Единственное(!) чем бы я попробовал оправдать такой велик - зоопарком СУБД с несовместимыми диалектами. Но про ликвибейз тут уже сказали ))

aol ★★★★★
()