Go-TestAPI/cli/migration.go

40 lines
896 B
Go

package main
import (
"fmt"
"golang-test/database"
"log"
"os"
"gorm.io/driver/postgres"
"gorm.io/gorm"
)
func main() {
dbHost := os.Getenv("DB_HOST")
dbPort := os.Getenv("DB_PORT")
dbUser := os.Getenv("DB_USER")
dbPassword := os.Getenv("DB_PASSWORD")
dbName := os.Getenv("DB_NAME")
dsn := fmt.Sprintf("host=%s port=%s user=%s password=%s dbname=%s sslmode=disable",
dbHost, dbPort, dbUser, dbPassword, dbName)
db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
if err != nil {
panic("failed to connect database")
}
err = db.AutoMigrate(&database.Manufacturer{}, &database.Product{}, &database.User{})
if err != nil {
return
}
log.Println("Database migration complete")
}
//func Test(db *gorm.DB) string {
// db.Create(&Manufacturer{Name: "test"})
// var manufacturer Manufacturer
// db.First(&manufacturer, "name = ?", "test")
// return manufacturer.Name
//}