A bare bones SQL client.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode
app
builds
dist
tasks
test
.babelrc
.eslintignore
.eslintrc.js
.gitignore
README.md
config.js
package.json
webpack.main.config.js
webpack.renderer.config.js

README.md

SQL bro

Do you even?

alt text

A bare bones SQL client. This was built for Jahnel Group’s 2017 War Week, to satisfy my own desire for an SQL client that would make those things I need to do frequently as a mid-tier developer easy - without preventing doing anything else - with a minimal interface. It was also built to learn more about the Electron platform, practice using Vue.js, and try out a new styling framework. Built on electron-boilerplate-vue.

Prior Art

  • Sqlectron (https://github.com/sqlectron) - a similar project, better executed. ;-)
  • Sequel Pro - much of the UI inspiration.
  • MySql Workbench - "The Bench."

Build Setup

# install dependencies
npm install

# serve with hot reload at localhost:9080
npm run dev

# build electron app for production
npm run build

# lint all JS/Vue component files in `app/src`
npm run lint

# run webpack in production
npm run pack

More information can be found here.


TODOS

High:

  • Flesh out grid component: (exports as right-click); inline editing issuing an "update")
  • Make "multiple" response object into tabs.
  • Show other "objects" under schemas: triggers, events? with good icons.
  • Add Tests for days.
  • Add flyway integration?! Show what migration you're on, and if there are others to do: clean/migrate (dev/testing only! No prod!)
  • Move the passwords out of localstorage into https://github.com/atom/node-keytar.
  • Table Inspection: a way to see table's indexes, triggers, keys, columns, etc.
  • Add tagged groups to tables (i.e., a way to put tables into folders)

Med:

  • Adapt grid output (dates, bools, NULL (Add color!)) to better representation.
  • lock header at top!
  • Fix up QueryCompleter with a regex against prefix to add tables/columns. Maybe turn on auto?
  • add VARIABLE support to query window? What what!
  • Search option: find column (in all tables/procs)
  • Work on ReadMe. Follow guide below; change what's needed.
  • Sort on column header? (reissue with SELECT * FROM (query) ORDER BY header)
  • Find a way to report OS errors back to the UI, such as during the writes to logs

Low:

  • add multiple DB types (sql server, at least. mongO?)
  • Styling for days.
  • Easter eggs?
  • https://github.com/vue-comps/vue-resize-handle ?

This project was generated from electron-vue using vue-cli. Documentation about this project can be found here.