Skip to main content

Biblioteca de utilitários Python para facilitar a implementação de sistemas com acesso a banco de dados.

Project description

nsj-sql-utils-lib

Biblioteca de utilitários Python para facilitar a implementação de sistemas com acesso a banco de dados.

Principais utilitários:

  • dao_util: Módulo com utilitátios para implementação de classes DAO (exemplo: facilitar a criação da lista de fileds de um select, ou fields e values de um insert).

    • dbadapter3: Classe adapter para utilizar conexões de banco de dados (útil para conexões psycopg2).
    • dbconection_psycopg2: Classe para abertura de conexão com postgres, utilizando o drive psycopg2 (sem pool de conexões, nem uso do SQL Alchemy).
    • db-updater: Modulo para atualização de bancos pensado para ser em um formato parecido com o erp-3
    • create-script: Modulo para criação de arquivos de scripts padronizados

    Utilização do db-updater:

    • São duas as formas de utilizar o db-updater uma seria instalando via pip em seu projeto e chamando o mesmo da seguinte forma

    python -m nsj_sql_utils_lib.updater.db_updater [parametros]

    Os parametros que podem ser passados são:

    parâmetro valor default descrição
    --dbhost DBHOST '' Database host
    --dbname DBNAME '' Database name
    --dbuser DBUSER '' Database user
    --dbpass DBPASS '' Database password
    --dbport DBPORT '' Database port
    --dbpath DBPATH './database' Database updatable files path
    --version VERSION '' Version of database files

    Se não informar os parametros na chamada pode-se usar as variaveis de ambiente.

    variavel valor default descrição
    DATABASE_PATH /database Caminho para os arquivos de atualização
    DATABASE_HOST '' Database host
    DATABASE_NAME '' Database name
    DATABASE_PORT '' Database port
    DATABASE_USER '' Database user
    DATABASE_PASS '' Database password
    VERSION '' Version of database files

    A variável Version serve somente para que o console printe a versão dos arquivos, para poder ter um log informando qual a versão que está sendo atualizada.

  • O formato dos arquivos para a atualização precisarão serem como descrito na pasta skeleton_db:

       --database
         ├-- functions
         ├-- scripts
         └-- views
    
  • Exemplo de uso:

    python -m nsj_sql_utils_lib.updater.db_updater [-h] [--dbhost DBHOST] [--dbname DBNAME] [--dbuser DBUSER] [--dbpass DBPASS] [--dbport DBPORT] [--dbpath DBPATH] [--version VERSION]

    • Também pode-se gerar uma imagem docker para chamar sem a necessidade de instalar via pip.
    • No momento deste documento a imagem ainda não se encontra no repositório do docker então seria necessário baixar este repositorio e executar o seguinte comando:

    docker build -f ./dockerfiles/updater/Dockerfile -t db-updater .

    • E em seguida utilizar a imagem para chamar o atualizador

    docker run -v "$PWD/database:/src/database" db-updater python -m nsj_sql_utils_lib.updater.db_updater [-h] [--dbhost DBHOST] [--dbname DBNAME] [--dbuser DBUSER] [--dbpass DBPASS] [--dbport DBPORT] [--dbpath DBPATH] [--version VERSION]

    Utilização do create_script

  • Foi criado para padronizar a criação do arquivo script, pode ser instalado pelo mesmo pacote do db-updater:

    parâmetro valor default descrição
    --filename FILENAME '' Database nome do arquivo a ser criado
    --scriptspath SCRIPTSPATH './database/scripts/' Caminho da pasta de scripts

python -m nsj_sql_utils_lib.updater.create_script[-h] [--filename FILENAME] [--scriptspath SCRIPTSPATH]

  • Pode ser usado a forma como imagem docker:
  • docker run -v "$PWD/database:/src/database" db-updater python -m nsj_sql_utils_lib.updater.create_script [-h] [--filename FILENAME] [--scriptspath SCRIPTSPATH]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nsj_sql_utils_lib-2.1.3.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nsj_sql_utils_lib-2.1.3-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file nsj_sql_utils_lib-2.1.3.tar.gz.

File metadata

  • Download URL: nsj_sql_utils_lib-2.1.3.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for nsj_sql_utils_lib-2.1.3.tar.gz
Algorithm Hash digest
SHA256 369720fa6edd117ee4941a16e96892ab40ad601446393b3ed767b4ed01319c67
MD5 4276d7694328a3760aee7c8deb1e4476
BLAKE2b-256 921fda1390bd2c638905556d9c9c38531ca1491a6e3662328f1adcbb3ee94939

See more details on using hashes here.

File details

Details for the file nsj_sql_utils_lib-2.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for nsj_sql_utils_lib-2.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 cdee4c560fcb91542c906f162567d6d71ecc9a8e940b6f735b82d77a6e663878
MD5 0c8731b137ab637e64c334029b2618e4
BLAKE2b-256 24ce1085219763d57f2197a3ce0603d39690f92e8d2ea60ebfebd79c84604bcd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page