Package para manipular banco de dados SQL
- Possibilita mochar retornos do banco de dados para teste em todos ambientes.
- Use MSSQL
Install
npm i sql-mocha
Documentação
Configuração
const Sql = ; const sql = server: '' database: '' user: '' password: '' //DEFAULTS connectTimeout: 60000 requestTimeout: 60000 pool: max: 5 min: 1 idleTimeoutMillis: 3000 ;
Execute
const return = await sql; const return = await sql; const return = await sql; /*return = { content: [], returnValue: Number|String, outputs: { output: any } }*/
Execute/Model
const return = await sql; /*return = { content: { dataset1: [], dataset2: {}, dataset3: [] }, returnValue: Number|String, outputs: { output: any } }*/
ExecuteOne
const return = await sql; /*return = { content: {}, returnValue: Number|String }*/
Query
const return = await sql;
Transactions
await sql; const result = await sql; if!resultreturnValue await sql; await sql;
Mocha
- Mocar retornos procedures
- Criar arquivo 'mocha.json' no mesmo diretório onde sera executado a procedure
- Setar process.env.DATABASE_MOCHA = true;
Estrutura de pastas
Api
└─ src
└─ diretorio
|─ controller.js
|─ repository.js //sql.execute('procedureName')
└─ mocha.json
mocha.js
- Estrutura do json
- Key = Nome da procedure
- parameters = Nome dos parâmetros e seu devido valor
- returns = [content, outputs, returnValue] // Definir valores conforme retorno da procedure
- Key = Nome da procedure
"procedureName": "parameters": "param1": 'value' "content": "outputs": {} "returnValue": null
- Erros
- Code 1: Arquivo mocha não encontrado
- Code 2: Parâmetros inválidos
Context
- Instância de sql por requisição
const express = ;const app = ;const Context = ; Context; app;
SQLTypes(mssql)
- numeric(precision, scale, value?)
- decimal(precision, scale, value?)
- varChar(length, value?)
- nVarChar(length, value?)
- char(length, value?)
- nChar(length, value?)
- varBinary(length, value?)
- time(scale, value?)
- dateTime2(scale, value?)
- dateTimeOffset(scale, value?)
- text(value?)
- int(value?)
- bigInt(value?)
- tinyInt(value?)
- smallInt(value?)
- bit(value?)
- float(value?)
- real(value?)
- date(value?)
- dateTime(value?)
- smallDateTime(value?)
- uniqueIdentifier(value?)
- smallMoney(value?)
- money(value?)
- binary(value?)
- nText(value?)