Skip to content
This repository has been archived by the owner on Apr 17, 2023. It is now read-only.

ctengiz/firewad

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
sub
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

and of course