SQL to GORM 변환
MySQL CREATE TABLE 문을 붙여넣으면 Go GORM 모델 구조체를 생성
입력
출력
타입 매핑 표
| SQL (MySQL) | Go |
|---|---|
| tinyint(1) | bool |
| tinyint / smallint / mediumint / year | int32 |
| int / integer | int |
| bigint | int64 |
| varchar / char / text / tinytext / mediumtext / longtext / enum / set / time | string |
| datetime / timestamp / date | time.Time |
| decimal / numeric | float64 |
| float | float32 |
| double / real | float64 |
| json | json.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가 자동 추가됩니다.