Go언어를 쓸 때 DB 스키마와 코드를 연동하는 가장 쉬운 방법: golang-migrate + sqlc
·
툴, 프레임워크, 기술
지난 글에서는 golang-migrate를 이용해 DB 버전을 관리하는 방법에 대해 알아보았다. 이번 글에서는 지난 글에서 예고한 대로 golang-migrate에 sqlc를 더해 DB 스키마 - Go언어 코드간 연동과 DB 마이그레이션을 동시에 진행하는 방법에 대해 소개하고자 한다.사용 방법1. 설정사실 이부분을 제외하면 golang-migrate를 쓸 때와 크게 바뀌는 점이 없다. 우선 프로젝트의 루트에 sqlc 설정 파일인 sqlc.yaml파일을 다음과 같이 작성한다.version: "2"sql:- schema: {마이그레이션 파일 경로} queries: {쿼리 파일 경로} engine: "postgresql" ...sql의 schema 항목만 golang-migration에 쓰이는 마이그레이..
golang-migrate란?
·
툴, 프레임워크, 기술
DB 스키마를 관리하는 것은 매우 중요하지만 귀찮은 부분이 있다. 특히 변경 히스토리를 관리하는 부분과 변경 사항을 코드에 반영하는 부분은 작업량이 많을 뿐만 아니라 실수의 여지가 많다. 다행히도 golang에서는 이 문제를 golang-migrate를 통해 해결할 수 있다. 이번 글에서는 이 golang-migrate에 대해 소개하고자 한다.마이그레이션들어가기에 앞서서 여기서 말하는 마이그레이션, DB 마이그레이션에 대한 정의를 확실히 하고자 한다. DB 마이그레이션은 상황에 따라 여러가지 의미로 쓰인다. 주로는 DB 종류 변경 작업을 의미하고 그 외에 DB 스키마 버전 및 변경 이력 관리, 코드 내의 객체를 DB 테이블로 변환하는 작업 등으로 쓰인다. 이번 글에서의 마이그레이션은 DB 스키마 버전 관..