728x90
반응형
sql문을 작성할 때 json형식으로 해서 connection pool을 했었다. 그런데 우연히 knex로 받아오는 것을 보고 괜찮은 방법이여서 더 알고자 정리하고자 한다.
설치하기
npm install knex --save
위의 명령어를 쳐서 knex를 설치해준다.
DB정보 생성하기
const knex = require('knex')({
client: 'mysql',
connection: {
host : HOST_ADDR,
user : DB_USER,
password : DB_PASSWORD,
database : DB_NAME
}
})
- client : 이 매개변수는 필수이며, 라이브러리와 함께 사용할 클라이언트 어댑터를 결정한다.
CRUD 작성하기
1) select
knex.select('컬럼 이름').from('테이블 이름')
2) insert
knex('테이블 이름').insert({ '컬럼 이름': '컬럼 값' })
3) update
knex('테이블 이름').update({'컬럼 이름' : '컬럼 값' }).where('컬럼 이름', '컬럼 값')
4) delete
knex('테이블 이름').del().where('컬럼 이름', '컬럼 값')
→ 해당 형식의 구조만 알면 crud는 쉽게 할 수 있다.
반응형
Migration 하기
DB에 대한 내용을 변경하게 Migration을 할 수 있다.
npm install knex -g
knex init
위의 명령어를 쳐서 knex를 셋팅해준다. knex를 글로벌로 설치하고 knex init 명령을 실행하여 knexfile.js 파일을 생성한다. knexfile.js 파일을 열어 데이터베이스 정보를 입력한다.
1) 테이블 생성하기
knex migrate:make 만들고자 하는 테이블이름
위의 명령어를 치면 연결된 db에 테이블이 생성된다. 그리고 해당 테이블이름과 연결된 파일이 생성된다.
exports.up = function(knex) {
return knex.schema
.createTable('users', function (table) {
table.increments('id');
table.string('name', 255).notNullable();
table.string('email', 255);
table.timestamps();
});
};
exports.down = function(knex) {
return knex.schema
.dropTable('users');
};
파일에 보면 up과 down으로 함수가 나뉘는 것을 볼 수 있다.
- up : 새 테이블이 생성된다는 의미이다.
- down : 테이블을 더이상 쓰지 않음으로 삭제한다는 의미이다.
2) 취소하기
knex migrate:rollback
위의 명령어를 쳐서 rollback해주면 마이그레이션이 취소된다.
👇🏻 참고
https://blog.shahednasser.com/knex-js-tutorial-for-beginners/
728x90
반응형