达永编程网

程序员技术分享与交流平台

开发一款自己的数据库表设计器_如何开发一款数据库



平时做数据库设计时大多基于 UI 操作,需要在各种输入框中频繁的来回切换,操作麻烦且效率低。也找到一些基于DSL方言的建表工具:

dbdiagram.io - Database Relationship Diagrams Design Tool

QuickDBD (quickdatabasediagrams.com)

Free ER Diagram Tool - ERD Lab

体验下来感觉有些语法还是很别扭, 本着重复发明轮子的精神, 闲来无事就自己做一个

工具特点:

  • 使用 DSL 方言,语法简洁,易于上手;
  • 自动提示,减少语法关键字输入;
  • 无需鼠标操作,专注于表结构设计;
  • 支持生成Mysql/Sqlite3/Postgres/Mssql SQL建表语句;
  • 浏览器本地localStorage缓存;
  • 实时生成 ER 关系图,方便直观地查看表关系(开发中);

技术实现:

  • Vue3 + Codemirror
  • DSL 方言解析:Lezer
  • knex 建表sql语句生成

DSL示例:

// 代码注释
/*
块注释
*/
Table table_name {
  @表注释
	id bigint not null pk auto #字段注释
  name varchar(255) # 姓名
	is_deleted tinyint(1) not null default 0
  ...

  Index{
  	(name asc) unique hash
    ...
  }
}

乍一看和sql建表的语句好像区别不大, 省略了一些sql的关键字,再加上自动提示,没有了输入框的频繁切换, 可以比较专注的在设计表结构这件事情上.

运行效果:

目前功能还非常简陋. 喜欢的可以简单体验一下: https://litgh.github.io/

#开发工具推荐##程序员#

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言