Awesome
sqliteweb
sqliteweb
is a web-based SQLite database browser. It's written in Go.
It's inspired and influenced by pgweb and sqlite-browser.
Overview
sqliteweb
is a web-based SQLite database browser. The goal is to provide a simple and intuitive browser for SQLite databases. It provides basic functions to browse SQLite databases and tables.
Features
- Browse existing SQLite databases
- Browse table structure and indexes
- Browse table data
- Run custom SQL queries
- Export query results to CSV and JSON
- Single executable (just download the executable and run it)
- Cross-platform
Installation
Use the pre-build relase images from Github Releases.
Currently pre-build releases are available for the following platforms:
- Mac OSX 64bit
From source
If there are no pre-build images for your platform, you can build sqliteweb from sources.
Requirements:
- Go
- Node/NPM
$GOPATH
must be set
Make sure you have installed Go. Go +1.3 is required. You can install Go with homebrew:
$ brew install go
Get sqliteweb from Github:
$ git clone https://github.com/hypebeast/sqliteweb.git
$ cd sqliteweb
Install required packages to build the frontend:
$ npm install
$ bower install
Build the frontend:
$ gulp dist
Build the server:
$ cd sqliteweb-server
$ make setup
$ make build
Now, run sqliteweb:
$ ./sqliteweb --db ../data/test.db
Usage
Start sqliteweb with the following command:
$ sqliteweb --db path/to/database/name.db
You can also provide a username and password to enable HTTP basic auth:
$ sqliteweb --db=path/to/database/name.db --auth-user=username --auth-pass=validpass
CLI Options
$ sqliteweb -h
Usage:
sqliteweb [OPTIONS]
Application Options:
-v, --version Print version
-d, --debug Enable debugging mode (false)
--db= SQLite database file
--bind= HTTP server host (localhost)
--listen= HTTP server listen port (8000)
--auth-user= HTTP basic auth user
--auth-pass= HTTP basic auth password
-s, --skip-open Skip open sqliteweb in browser on start
Help Options:
-h, --help Show this help message
Development
The project consists of two sub-projects:
- sqliteweb-server: The server part
- sqliteweb-web: The frontend part
sqliteweb-web
This is the frontend part of sqliteweb
. The asset compilation is handled by Gulp
.
To install all requirements, run the following commands:
$ cd sqliteweb
$ npm install
$ bower install
There is a built-in webserver for the frontend development. Run the following command to start it:
$ gulp
The compile, watch and copy the frontend files to sqliteweb-server
:
$ gulp dev
To generate the dist files and copy them over to sqliteweb-server
:
$ gulp dist
sqliteweb-server
The sqliteweb-server
provides the API for the frontend.
To build the server:
$ cd sqliteweb/sqliteweb-server
$ make setup
$ make dev
$ ./sqliteweb
Screenshots
Table Structure
Table Content
SQL Query
Contributions
- Fork repository
- Create feature- or bugfix-branch
- Create pull request
- Use Github Issues
Contact
- Sebastian Ruml, sebastian@sebastianruml.name
- Twitter: https://twitter.com/dar4_schneider
License
The MIT License (MIT)
Copyright (c) 2014 Sebastian Ruml
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.