Go Fiber 및 PlanetScale로 REST API 구축 - 2부
5311 단어 apiplanetscalego
모델
User
모델을 만들고 user.go
디렉토리 안에 models
라는 파일을 만들고 gorm으로 구조체를 정의합니다.package models
import "gorm.io/gorm"
// User struct
type User struct {
gorm.Model
Name string `json:"name"`
Email string `json:"email"`
Website string `json:"website"`
}
데이터베이스에 연결
add-users-table
라는 개발 데이터베이스 분기를 생성합니다.$ pscale branch create fiber-pscale add-users-table
새 터미널 탭을 열고 add-users-table 분기 내부의 데이터베이스에 연결하고
3309
PORT를 수신합니다. 더 보기Connect using client certificates .$ pscale connect fiber-pscale add-users-table --port 3309
모델 디렉토리 내에
database.go
라는 파일을 생성하고 데이터베이스에 연결하는 기능을 추가합니다.package models
import (
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
var DB *gorm.DB
func ConnectDatabase() {
// refer https://github.com/go-sql-driver/mysql#dsn-data-source-name for details
dsn := "root:@tcp(127.0.0.1:3309)/fiber-pscale?charset=utf8mb4&parseTime=True&loc=Local"
database, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic("failed to connect database")
}
// Migrate the users table
database.AutoMigrate(&User{})
DB = database
}
main.go
를 열고 ConnectDatabase
함수를 호출하여 테이블을 마이그레이션하고 데이터베이스에 연결합니다.import (
// ...
"github.com/maful/fiber-pscale/models"
)
func main() {
r := gin.Default()
models.ConnectDatabase() // New
// ....
}
그런 다음 앱
go run cmd/main.go
을 실행하면 Gorm이 자동으로 테이블을 add-users-table
분기로 마이그레이션합니다. 마이그레이션이 성공했는지 어떻게 알 수 있습니까? 다음 분기에 대한 PlanetScale 대시보드를 확인하거나 CLI를 사용하여 add-users-table
분기에 대한 스키마를 볼 수 있습니다.$ pscale branch schema fiber-pscale add-users-table
-- users --
CREATE TABLE `users` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`created_at` datetime(3) DEFAULT NULL,
`updated_at` datetime(3) DEFAULT NULL,
`deleted_at` datetime(3) DEFAULT NULL,
`name` longtext,
`email` longtext,
`website` longtext,
PRIMARY KEY (`id`),
KEY `idx_users_deleted_at` (`deleted_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
스키마는 배포 요청을 생성할 때까지 기본 분기에 적용되지 않습니다. 마지막으로
add-users-table
분기 또는 Ctrl+C에서 연결을 중지합니다.
Reference
이 문제에 관하여(Go Fiber 및 PlanetScale로 REST API 구축 - 2부), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/maful/build-rest-api-with-go-fiber-and-planetscale-part-2-4ao9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)