/SQLens

SQLens is an open-source tool for visualizing SQL database schemas, making it easier to understand complex relationships in PostgreSQL databases. It's designed for quick debugging, optimization, and simplifying database management, ensuring data integrity.

Primary LanguageTypeScriptMIT LicenseMIT

SQLens

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.

Visualize Your Data

Getting Started

Initial Setup

  1. Fork and clone this repository.
  2. Run npm install to install dependancies.
  3. Run npm build to ensure any dependancy updates are reflected.
  4. Run npm start to spin up a server locally, and view your data on localhost:3000

Using the app

  • 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.

Contributing

  • 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

Contribution Guidelines

  • 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

Features to Work On

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

License

SQLens is free and open-source licensed under the MIT License

Technologies Used

Contributors


Alex Palazzo
🖇️ 🐙

Jarod Crawford
🖇️ 🐙

Jenny Ouk
🖇️ 🐙

Margaret Hatch
🖇️ 🐙
  • 🖇️ = LinkedIn
  • 🐙 = Github