레거시 데이터베이스 검사 - 오픈 소스 도구

안녕하세요 코더입니다!

이 문서에서는 legacy databases introspection(테이블 정의 및 데이터)에 대한 open-source 도구를 제공합니다. 프로젝트는 완전한 테이블 정보(필드, 제약 조건, 외래 키) 및 데이터를 추출하는 데 사용할 수 있습니다. 이 코드는 Github(MIT 라이선스)에 게시되어 있으며 SQLite , MySqlPostgreSql 에서 작동합니다.


Thanks for reading!


  • 👉 Database Introspection Tool - 소스 코드(MIT 라이선스)
  • 🎁 무료 Support 이메일 및 Discord



  • ✨ 프로젝트 기능


  • 👉 최소 설정, Python-based 도구
  • 👉 지원 DB : SQLite , MySql , PostgreSQL
  • 👉 Helpers : 덤프 테이블 정의(SQL 및 모델)
  • 👉 덤프 테이블 데이터: CSV format

  • 사용 가능한 도우미는 Python CLI 내에서 호출 및 사용할 수 있습니다. 궁금한 분들은 생성된 파일here(출력 디렉터리): Tables SQL Definitions , Table Dump Sample 을 빠르게 살펴보실 수 있습니다.





    ✨ 도구 사용법



    이 도구는 Python3 및 GIT가 설치된 모든 환경에서 사용할 수 있습니다.

    Step #1 - Clone the sources



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



    Step #2 - Install the dependencies



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



    Step #3 - 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]
    ...
    (truncated data)
    ...
     > Dump data for [django_migrations]
     > Dump data for [django_session]
    True
    >>> db_sqlite.reset()                                  # reset data  
    >>>
    



    위의 코드 청크는 다음 작업을 수행합니다.
  • 데이터베이스 래퍼 클래스 호출DbWrapper()
  • 데이터베이스 자격 증명 설정: Driver , Name .. 등
  • connect() 도우미를 통해 데이터베이스에 연결
  • load_models() 테이블 메타데이터 검사

  • 이 시점부터 테이블 및 데이터와 관련된 모든 정보에 액세스할 수 있습니다. 출력 파일은 출력 디렉토리에 저장됩니다.

  • SQLITE.sql - api-django.sqlite3 샘플
  • 의 모든 테이블에 대한 SQL 정의

  • SQLITE_api_user_user.sql - 테이블 데이터



  • Thanks for reading! For more resources, feel free to access:




  • AppSeed 더 많은 도구 및 free starters
  • ✨ 더 많은 sample projects Github에 게시됨
  • 좋은 웹페이지 즐겨찾기