Генерация схемы базы данных UML/SQL/CQL/Go/Rust/Crystal и поддельных данных из текстовой спецификации.

  • Автор темы BigDuglas
  • 36
  • Обновлено
  • 16, May 2024
  • #1
Для интересующихся я только что выпустил улучшенную версию Basil, моего инструмента для создания баз данных с открытым исходным кодом. Вы можете скачать это здесь :
https://github.com/senselogic/BASIL

По сути, он использует текстовую спецификацию базы данных для генерации ее схемы (UML, SQL, CQL, Go, Rust, Crystal) и поддельных данных (SQL, CQL). Вот пример сценария для создания схемы и поддельных данных для примера веб-сайта блога:
 

BLOG | count 5

SECTION

Id : UINT64 | key, unique, incremented

Number : UINT64

Name : STRING | capacity 45

Text : STRING

Image : STRING | capacity 45

ImageIndex : UINT64 | !stored

USER

Id : UINT64 | key, unique, incremented

FirstName : STRING | capacity 45

LastName : STRING | capacity 45

Email : STRING | capacity 45

Pseudonym : STRING | capacity 45

Password : STRING | capacity 45

Phone : STRING | capacity 45

Street : STRING

City : STRING | capacity 45

Code : STRING | capacity 45

Region : STRING | capacity 45

Country : STRING | capacity 45

Company : STRING | capacity 45

ItIsAdministrator : BOOL

ARTICLE | count 15

Id : UINT64 | key, unique, incremented

SectionId : SECTION.Id | partitioned

UserId : USER.Id | clustered

Title : STRING

Text : STRING

Image : STRING | capacity 45

Date : DATE

Section : POINTER[ SECTION ] | !stored

User : POINTER[ USER ] | !stored

ImageIndex : UINT64 | !stored

COMMENT | count 30

Id : UINT64 | key, unique, incremented

ArticleId : ARTICLE.Id | indexed

UserId : USER.Id | indexed

Text : STRING | english 2 4 5 7

DateTime : DATETIME

Article : POINTER[ ARTICLE ] | !stored

User : POINTER[ USER ] | !stored

SUBSCRIBER

Id : UINT64 | key, unique, incremented

Name : STRING | capacity 45

Email : STRING | capacity 45

Код (разметка):

BigDuglas


Рег
08 Mar, 2012

Тем
1

Постов
1

Баллов
11
Тем
49554
Комментарии
57426
Опыт
552966

Интересно