SQLens is a powerful SQL database visualizer designed to simplify the complexities of managing and understanding relational databases with extensive foreign key relationships. In the world of database administration and development, keeping track of intricate relationships and optimizing queries across large datasets can be daunting. SQLens addresses these challenges head-on by providing a dynamic, graphical representation of your database schema, making it easier and more enjoyable to visualize, analyze, and manage data relationships.
- Fork and clone this repository.
- Run npm install to install dependancies.
- Run npm build to ensure any dependancy updates are reflected.
- Run npm start to spin up a server locally, and view your data on localhost:3000
- Simply enter in a URI string for your postgres database
- Click and drag to view foreign-key relationships between tables
- Add a new table using the + button on the Add New Table component
- Add a column from the drop-down table to the right
- In the pop-out, name the column and select its data type from the drop-down menu
- Click Save to add.
- To rename columns, use the pencil tool
- To delete a column, simply click the trashcan, you will be asked "Are you sure?"
- To delete a table, use the menu to the right
- To download a migration file of any changes made, use the menu at the top left corner of the browser
- SQLens ensures data integrity and operational reliability, leveraging the fact that PostgreSQL databases are ACID-compliant, which means invalid column or table names are automatically rejected by PostgreSQL and will not be saved.
- To run the app in dev mode, simply npm run dev
- To ensure updates are compatible with all functional components, run unit tests with npm run test
- Fork this repository
- Checkout from dev to a new feature branch with the format <your-name/your-new-feature>
- Test code before PR with npm run test
- Make a Pull Request
Feature | Status |
---|---|
Migration to use TurboNode styling for React Flow component | ✅ |
Add, delete, edit table and column names | ✅ |
Apollo Server graphQL cacheing | ✅ |
Downloadable migration file | ✅ |
Clean way to view row data | ⏳ |
Update algorithm for best visual rendering of foreign key relationships | ⏳ |
Allow user to add/edit relationships between tables w/ GUI | ⏳ |
Build docker container for CI/CD w/ github actions | 🙏🏻 |
- ✅ = Ready to use
- ⏳ = In progress
- 🙏🏻 = Looking for contributors
SQLens is free and open-source licensed under the MIT License
Alex Palazzo 🖇️ 🐙 |
Jarod Crawford 🖇️ 🐙 |
Jenny Ouk 🖇️ 🐙 |
Margaret Hatch 🖇️ 🐙 |
- 🐙 = Github