Open-source ER modeling tool for VS Code supporting hybrid, textual- and graphical editing, multiple notations, and SQL code generation!
➜ Download the VS Code Extension
Main features:
- 📝 Textual Language for the specification of ER models in the textual editor. Assistive validation and rich-text editing support, enabled with the Language Server Protocol, allows to quickly get familiar with the available language constructs.
- 📊 Diagram View that is fully synchronized with the textual model and automatically updates on changes. Also offers an interactive toolbar with graphical editing actions, layout mechanisms, and multi-notation support.
- 🖨️ Code Generation to generate SQL tables out of the specified ER models and integrate with existing databases.
📖 Table of Contents
Entity-Relationship (ER) modeling is the de-facto standard for data modeling, offering powerful concepts to visualize data in (relational) databases. Various tools for ER modeling are available, however, often they are inflexible, proprietary, or constrained to specific platforms.
The bigER tool aims to provide an open-source and modern solution for ER by making use of the Language Server Protocol (LSP). The protocol is used for communicating textual language features to the VS Code client and is further extended to also support graphical editing, making it one of the first hybrid modeling tools based on the LSP.
Built With
The Java-based language server is realized with Xtext and Xtend, while the diagramming capabilities are based on Sprotty. Sprotty enhances the server with graphical language features (using sprotty-server
) and integrates with VS Code through Sprotty VS Code Extensions.
Download and install the extension from the VS Code Marketplace, see the Installation page in the Wiki for instructions.
New ER Model
After installation, ER models can be created in .erd
files. Use the New Sample ER Model
command in the Command Palette or refer to the example below to get started with a basic model.
erdiagram Model
notation=default
entity A {
id key
}
entity B {
id key
}
relationship Rel {
A -> B
}
Open the Diagram
The corresponding ER Diagram can be opened by using the button in the editor toolbar, the context menu when right-clicking the file, or by pressing Ctrl/⌘ + O.
Learn More
For more information on how to use the tool, see the bigER Wiki.
Prerequisites
Download or clone the repository and in the root folder of the project execute the following commands:
language-server/gradlew -p language-server/ build
yarn --cwd webview
yarn --cwd extension
After building the project, the extension can be run in VS Code by pressing F5 or selecting Run ➜ Start Debugging
from the menu.
Project issues are managed on GitHub, see Open Issues for the currently tracked issues. Do not hesitate to report a bug or request a feature through the offered Issue Templates. For questions, simply use a blank issue.
Contributions to the project are always welcome! See the Contribution Guidelines for more information.
Contributors:
- Philipp-Lorenz Glaser (main developer)
- Georg Hammerschmied (multi-notation support)
- Hnatiuk Vladyslav (improved edge router)
- Christoph Lauscher (SQL import/export)
- Marinko Todorovic (NoSQL import/export)
- Dominik Bork
See All Contributors.
If you like our work, please feel free to buy us a coffee ☕️
The project is distributed under the MIT License. See License for more details.
Check out our other modeling tools!