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.2.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.2-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for nsj_sql_utils_lib-2.0.2.tar.gz
Algorithm Hash digest
SHA256 e312f05346b999f3085d965040a0a26f413a5f87f2ef2c5df0e2c71a5e63b91a
MD5 7d753232f7dafac57455ca098ec330f1
BLAKE2b-256 8b7757ff339d5f53541a1548681e52b68155f7e286f4efabfdbc4d1c61a86b0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nsj_sql_utils_lib-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 180d986d1667f0d7cef96ad6eea0e09d50012a72cedc0e5c266330fae18ae42b
MD5 d957b925b7b7303224fae320f85275d2
BLAKE2b-256 2ef16e477ab1c20eb6eacba66ab396dc9de324714b2e04f69c054dbe1ea7ef71

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