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.0.5.tar.gz (11.1 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.0.5-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nsj_sql_utils_lib-2.0.5.tar.gz
  • Upload date:
  • Size: 11.1 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.0.5.tar.gz
Algorithm Hash digest
SHA256 269cb7fa6b5571c2da2a8082e62c00dee545d057f45c40818b8404c6c3906327
MD5 b4b7e3ac0a44a8198f13813a3f895bba
BLAKE2b-256 e27e1c7192ac185afd59b615a0e32ac58306af138cf9b5768da28f77fa994f65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nsj_sql_utils_lib-2.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2a2a05693b9dad4f92e523c699f1b46192f4f59f623cb749fd9fb06d51c315a6
MD5 5345060e25ee82521df5699490bac690
BLAKE2b-256 6cef2d5c6fb10f685dd0eb367f2e7c34bda05f7a660f87da14fe936bf0bbc153

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