Иногда хочется быстро набросать структуру БД для простенького CRUD-приложения, но лень писать на SQL все эти CREATE TABLE и всё такое, которые, к тому же, будут годиться только для одной конкретной СУБД (диалекта SQL). Хочется чего-то простого и лаконичного и компилируемого в диалект любой СУБД, а может заодно и в заготовки кода модели для многих языков/ORM. Например вот такой вариант мне придумался на вскидку, опишем, для примера, базу взаимоотношений между людьми, смысл, думаю, интуитивно понятен:
people
pk: id int
c: name varchar (45)
c: surname varchar (45)
relations
pk: id int
c: name varchar (45) ["firend", "spouse", "boss"]
relationships
fk: person1 ~ people -> id
fk: person2 ~ people -> id
fk: relation ~ relations -> id
c: since dt
Сначала, как водится, пришла мысль написать парсер самому (вышеприведённый вариант синтаксиса, конечно, не финальный (да и пример высосанный из пальца), есть ещё много что продумать, а это так, первый набросок), а потом пришла светлая идея поинтересоваться нет ли уже чего-то подобного.
PS: Про code-first варианты, предоставляемые различными ORM я знаю, но хочется чего-то не привязанного к конкретной ORM и конкретному языку программирования.
UPDATE: Т.к. готового решения не нашлось, я таки написал такую штуку сам. Окультурю, выложу, оформлю как ответ. Кому надо - подписывайтесь.