0.0.2 • Published 2 years ago

mssql-helper-woongs v0.0.2

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

mssql-helper

DB 제어를 편하게 하기 위해 제작된 모듈입니다. DB 연결 정보를 불러오기 위해 dotenv기반의 env-initializer를 참조합니다.

지원 DB - mssql

mssql dotenv env-initializer

기본 설정

연결 문자열

process.env 전역 변수에 설정된 값을 사용하며 다음 값을 연결 문자열로 사용합니다.

process.env.MSSQLCONNSTR'DB명'

인스턴스 생성시 별다른 DB명을 정해주지 않으면 "BASE"로 처리됩니다.

개체 초기화

//옵션은 생략 가능. 아래 입력값은 기본값.
const db = await new MSSQLHelper({
    name: 'BASE',
    useTran: false
}).init();

파라메터 설정

입력 파라메터의 경우 쿼리 실행 시점에 개체로 입력 가능하며, 실행 전 별도로 추가/제거할 수 있습니다.

import * as sql from 'mssql';

const db = await new MSSQLHelper({}).init();

db.addInPrmt('targetDt', new Date('2000-01-01'));
db.addOutPrmt('returnVal',sql.Int,);
//db.addInPrmt('targetDt', new Date('2000-01-01')).db.addOutPrmt('returnVal',sql.Int,) 형태로 연결하여 호출 가능

await db.execute(`SET @returnVal = DATEDIFF(D, @targetDt, SYSDATETIME())`);
return db.outputs.returnVal;

본 라이브러리는 dotenv, crypto-js를 참조하여 typescript로 작성되었습니다.

envInit()를 실행하여 .env파일의 값을 암/복호화할 수 있습니다. envInit() 함수는 application 전반에서 process.env를 활용하기 수월하도록 시작 시점에 실행하는 것을 권장합니다. 실행 과정에서 process.env에 읽어들인 값을 병합합니다.

import { envInit } from 'env-initializer';

envInit({
    encKey: '암호화 키',
    appRootPath: '앱 실행 루트 경로',
})

nuxt등 runtime에서 개체를 넘겨줘야 하는 경우는 getEnv()를 실행하여 .env파일의 값을 DotenvParseOutput 개체 형식으로 반환합니다.

import { getEnv } from 'env-initializer';

const env = getEnv({
    encKey: '암호화 키',
    appRootPath: '앱 실행 루트 경로',
});

envInit, getEnv는 다음 속성을 갖는 옵션을 넘겨줄 수 있습니다. 속성 | 형식 | 기본값 | 설명 ---|---|---|---| devSuffix? | string | 'dev' | 개발환경에서 사용되는 .env파일 접미사. -> .env.dev prodSuffix? | string | 'prod' | 운영환경에서 사용될 값이 들어있는 .env파일 접미사. -> .env.prod isDev? | boolean | - | 개발환경인지 여부. process.env.NODE_ENV !== 'production' 을 기본값으로 함. 직접 값을 넘겨주어 강제 설정 가능 appRootPath | string | - | 앱 실행 루트 경로. 해당 경로에 .env파일들이 있어야 함 encKey | string | - | 값 암복호화 시 사용할 암호화 키

0.0.2

2 years ago

0.0.1

2 years ago