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

  • Автор темы I AM
  • Обновлено
  • 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


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

I AM


Рег
23 Jul, 2011

Тем
403760

Постов
400028

Баллов
2418908
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно