SQL to GORM 변환

MySQL CREATE TABLE 문을 붙여넣으면 Go GORM 모델 구조체를 생성

입력

출력

타입 매핑 표

SQL (MySQL)Go
tinyint(1)bool
tinyint / smallint / mediumint / yearint32
int / integerint
bigintint64
varchar / char / text / tinytext / mediumtext / longtext / enum / set / timestring
datetime / timestamp / datetime.Time
decimal / numericfloat64
floatfloat32
double / realfloat64
jsonjson.RawMessage
binary / varbinary / blob / tinyblob / mediumblob / longblob[]byte

tinyint(1)은 bool로, 그 외 tinyint는 int32로 매핑됩니다. 인식할 수 없는 SQL 타입은 string으로 매핑되며 생성된 코드에 주석으로 표시됩니다.

사용 방법

MySQL CREATE TABLE 문(여러 개 가능)을 입력란에 붙여넣고 필요에 따라 옵션을 선택한 뒤 「코드 생성」을 클릭하면 바로 컴파일할 수 있는 Go GORM 모델 코드(package와 import 포함)가 만들어집니다. 기본 키, 자동 증가, NOT NULL, 기본값, 코멘트, 고유 인덱스 및 일반 인덱스 변환을 지원하며, 여러 문을 입력하면 구조처리가 여러 개 생성됩니다. 모든 처리는 브라우저 로컬에서 수행되며 SQL은 업로드되지 않습니다.

매핑 규칙 안내

unsigned 컬럼은 부호 있는 Go 타입으로 매핑됩니다(예: int unsigned → int). uint 계열이 필요하면 수동으로 조정하세요. date는 datetime/timestamp와 마찬가지로 time.Time으로 매핑됩니다(문자열이 필요하면 string으로 바꾸세요). decimal/numeric은 float64로 매핑되며 정밀도 한계가 있으므로 금액 등 정확한 계산에는 shopspring/decimal 사용을 권장합니다. json은 json.RawMessage로 매핑되며 encoding/json import가 자동 추가됩니다.