#firewad
Web admin tool for Firebird SQL RDBMS.
I love Firebird and I use it since InterBase was open-sourced (sooo long ago !). When I also began to use MacOSX for development two years ago I've missed tools I've used to use such as IBExpert. So this project is born.
Main Goals are :
- Be platform independent, easily deployed
- A helper for database monitoring and performance tuning
- Adhoc queries for simple reports, data inspection
- Easy database maintanence and administration operations
- Provide a platform for database schema migration for my own projects
##Features
The list below, is a mix of features completed and features which are planned to be implemented. Yet this is not a full plan list. It grows while I play with the project. Any suggestions are welcome.
- Full database metadata representation
- Domains
- Tables
- Views
- Triggers
- Procedures
- Sequences
- Indices
- Constraints
- Functions
- Exceptions
- Roles (planned in 0.1.0)
- Better dependency displays (also dependency display for UDF, sequence, domain, exception) (planned in 0.2.0)
- Database operations
- Create Database
- Drop Database
- Database info via isc_info calls
- Database parameter updates (sweep interval, shutdown etc.) (planned in 0.2.0)
- Database Monitoring
- Backup / restore
- Database Metada Extract (to screen, to file, to script tool)
- Schema View (planned in 0.3.0)
- Enable / Disable all triggers
- Recompute all statistics
- DDL Operations
- Table (planned in 0.1.0)
- Create table
- Drop table
- Field modification
- Alter / Create / Drop constraints / indices
- DDL Edit
- Disable / Enable all triggers
- Disable / Enable all indices
- Recompute all statistics
- View (planned in 0.1.0)
- Create view
- Drop view
- Alter view
- Create view from query
- DDL Edit
- Trigger (planned in 0.1.0)
- Create
- Drop
- Disable / Enable Trigger
- DDL Edit
- Procedure (planned in 0.1.0)
- Create
- Drop
- Comment / Uncomment Body
- DDL Edit
- Sequence (planned in 0.1.0)
- Create
- Drop
- UDF (planned in 0.1.0)
- Exceptions (planned in 0.1.0)
- Create
- Drop
- Role (planned in 0.1.0)
- Create
- Drop
- Table (planned in 0.1.0)
- Data Operations (planned in 0.2.0)
- Data edit / insert / delete
- Sql query
- Code completion (planned in 0.4.0)
- Execution plan
- Param support
- Save & Load query sqls (planned in 0.4.0)
- Quick query from table (select * from ..)
- Quick query from view (select * from ..)
- Quick query from procedure (select * from ..)
- Quick execution of procedure
- Sorting on the result set (planned in 0.2.0)
- Paging support (planned in 0.2.0)
- Export result data (xls, cvs, json) (planned in 0.2.0)
- Execute procedure / fetch results
- Script execution with multiple statements
- User management (planned in 0.5.0)
- Grants Management (planned in 0.5.0)
- Data Analysis - Pivot Reports (planned in 0.6.0)
##Install
###Executable Distributions
Right now only Firewad is packaged as an executable for Windows platform, for MacOs and Linux I think running from source code is
Windows
Just grep the latest version from relases unzip and execute app.exe and browse to http://127.0.0.1:18022
Nix Flavours
Sorry, no binary distrubition yet. (use the source Luke!)
###From Source
####Requirements
- Firebird 2.1+ (though only tested with 2.5, but all major operations should be fine with 2.1)
- python 3+
- fdb 1.4.9+
- write permissions to directory where the firewad is installed
git clone https://github.com/ctengiz/firewad.git
cd firewad
pip install -r requirements.txt
python app.py
Now browse to http://127.0.0.1:18022
SECURITY WARNING : Code is not ready for public serve yet (as a www service), db passwords is stored as plaintext in dbconfig.ini and access to website is not secured. Use it only from localhost right now
Todos
- Code documentation
- Usage documentation
- Use github's isssue tracker
- Prepare a roadmap
- Package for windows
firewad steps on the shoulders of
- Python FDB Thx to Pavel Cisar and David S. Rushby (aka woodsplitter) RIP
- BottlePy
- Bootstrap
- Ace Editor
- Beaker
- Pygments
- Fontawesome
- py2exe
- Bootbox
and of course