Introducing the Dolt Workbench
We are excited to announce the release of the Dolt Workbench - a modern, browser-based, open source SQL workbench for your MySQL-compatible database. It works with MySQL, MariaDB, and Dolt databases, with additional version control features when using Dolt.
Motivation
Why are SQL workbenches stuck in 2002?
Here at DoltHub, we have created two web-based database UI products: DoltHub.com and the Hosted Dolt Workbench. As a database company, we have felt the pain of the lack of contemporary, web-native or browser-based workbench products. With our designer Jan, we set out to create the best modern, browser-based, open source SQL workbench out there. As you can see above the current competition is slim.
We think our product is cool and we want the world to have it. Although we are the company that created Dolt, the Dolt Workbench works with any MySQL-compatible database, including MySQL, MariaDB, and Dolt. As far as we can tell, the Dolt Workbench is the only free, open source, browser-based SQL workbench available today.
Features
Whether you decide to connect the workbench to a MySQL database or Dolt database, the Dolt Workbench has many features that make it the most modern and user-friendly web-based workbench on the market.
Modern, web-based table browser
The Dolt Workbench brings a current browser-based UI to the workbench features you know and love. It makes browsing table data and schemas more intuitive and looks good doing it.
Auto-generate SQL queries
Don't know SQL? Utilize table cell buttons and query helpers to generate and execute SQL queries for you, while learning SQL along the way. Or execute your own SQL queries from the console with the help of syntax highlighting.
Edit data using point and click interface
Cell buttons can also be used to edit data. Double click into any cell to edit its value and easily remove or add rows, columns, and tables using helper buttons.
ER diagrams
ER diagrams are a great tool to visualize the entities in your database and the relationship between tables. They help to analyze the structure of the database.
File upload
Upload files from your computer or use the spreadsheet editor to add or modify rows in your table directly from the web interface.
Version control features with Dolt
Dolt is a SQL database you can fork, clone, branch, merge, push and pull just like a Git repository. When connecting the workbench to a Dolt database, you gain access to these powerful version control features.
Commit log visualizations
Easily visualize your commits and understand your commit history from the commit graph. It displays information about branches, commits, and collaborators in a single view. You'll be able to easily identify contributions, track down specific commits, and gain valuable insights into your development process.
Branch navigation
A branch adds non-distributed, write isolation to your database. If you have a set of database changes that logically should be grouped or reviewed together, you make those changes on a branch.
Tags
Tag your data at a commit to represent a data release. Data releases are a collection of data with a specific schema and known set of data points. They are often used to represent data you may want to recreate at a later date, like to reproduce a machine learning model.
Pull requests
Pull requests are a way to propose changes to a database. A pull request is created from a
branch with new changes that a user would like to make to another branch (commonly the
main
branch). Easily review the diff of proposed changes and think through potential
improvements or implications of the change. The pull request can then be merged, which
will update the base branch with the changes from the feature branch.
Getting started
The easiest way to get started is with Docker. Assuming you have Docker installed and running, you can simply pull the Docker image:
% docker pull dolthub/dolt-workbench:latest
And run it:
% docker run -p 9002:9002 -p 3000:3000 dolthub/dolt-workbench:latest
You should see the GraphQL Playground at http://localhost:9002/graphql and the web interface at http://localhost:3000, where you can enter your database information.
If you want to connect to a local or Docker installed database, there are additional instructions on Docker Hub.
Connection information is stored in a file store in the GraphQL server. If you want to
save connection information between Docker runs, you can mount a local directory to the
store
directory in /app/graphql-server
in the container.
% docker run -p 9002:9002 -p 3000:3000 -v ~/path/to/store:/app/graphql-server/store dolthub/dolt-workbench:latest
Conclusion
Try out the Dolt Workbench and let us know what you think! We're actively developing and taking feature requests. Create a GitHub issue or reach out on Discord.