Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

app-generator/devtool-db-introspection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Database Introspection Tool

Open-Source developers tool that provides simple helpers for legacy databases introspection. Crafted on top of Python and Peewee.


Features

  • Peewee DB Reflection
  • Supported DB:
    • SQLite, MySql, PostgreSQL
  • DbWrapper Class:
    • print_all_models() - returns all tables
    • print_db_model - print table definition
    • dump_tables() - Dump SQL definitions (all tables)
    • dump_tables_data() - Dump database content (all tables)

Support via Github (issues tracker) and Discord.


DB Migration Tool - Open-Source Developer Tool provided by AppSeed.


✨ Quick Start

Clone Sources (this repo)

$ git clone https://github.com/app-generator/devtool-db.git
$ cd devtool-db

Install Modules using a Virtual Environment

$ virtualenv env
$ source env/bin/activate
$ pip install -r requirements.txt

Or for Windows-based Systems

$ virtualenv env
$ .\env\Scripts\activate
$
$ # Install modules - SQLite Database
$ pip3 install -r requirements.txt

Launch the Python console

$ python
>>> 
>>> from util import *                                  # import helpers      
>>>                    
>>> db_sqlite = DbWrapper()                             # invoke the Base Class  
>>> db_sqlite.driver = COMMON.DB_SQLITE                 # set driver
>>> db_sqlite.db_name = 'samples/api-django.sqlite3'    # set db name
>>> db_sqlite.connect()                                 # connect 
True 
>>> db_sqlite.load_models()                             # load DB SChema 
True
>>> db_sqlite.dump_tables()                             # Dump tables definitions 
True
>>> db_sqlite.dump_tables_data()                        # Dump data
 > Dump data for [api_user_user]
 > Dump data for [api_authentication_activesession]
 > Dump data for [auth_group]
 > Dump data for [api_user_user_groups]
 > Dump data for [django_content_type]
 > Dump data for [auth_permission]
 > Dump data for [api_user_user_user_permissions]
 > Dump data for [auth_group_permissions]
 > Dump data for [django_admin_log]
 > Dump data for [django_migrations]
 > Dump data for [django_session]
True
>>> db_sqlite.reset()                                     # reset the Class data  
>>>

At this point, the tables and data are saved in the output directory.

$ cd output ; ls 
$ SQLITE.sql
$ SQLITE_api_user_user.sql
$ SQLITE_auth_permission.sql
$ SQLITE_django_content_type.sql
$ SQLITE_django_migrations.sql


Database Introspection Tool - Provided by AppSeed App Generator.

Morty Proxy This is a proxified and sanitized view of the page, visit original site.