mssql-helper-woongs v0.0.2
mssql-helper
DB 제어를 편하게 하기 위해 제작된 모듈입니다. DB 연결 정보를 불러오기 위해 dotenv기반의 env-initializer를 참조합니다.
지원 DB - mssql
기본 설정
연결 문자열
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 | - | 값 암복호화 시 사용할 암호화 키