Skip to content

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.

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy