Go-TestAPI/cli/migration.go

40 lines
915 B
Go
Raw Normal View History

2024-06-05 08:43:05 +00:00
package main
import (
2024-06-09 15:46:43 +00:00
"fmt"
2024-06-05 08:43:05 +00:00
"golang-test/database"
2024-06-09 15:46:43 +00:00
"log"
"os"
2024-06-05 08:43:05 +00:00
"gorm.io/driver/postgres"
"gorm.io/gorm"
)
func main() {
2024-06-09 15:46:43 +00:00
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)
2024-06-05 08:43:05 +00:00
db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
if err != nil {
panic("failed to connect database")
}
2024-06-09 15:46:43 +00:00
err = db.AutoMigrate(&database.Manufacturer{}, &database.Product{}, &database.User{}, &database.Token{})
if err != nil {
return
}
log.Println("Database migration complete")
2024-06-05 08:43:05 +00:00
}
//func Test(db *gorm.DB) string {
// db.Create(&Manufacturer{Name: "test"})
// var manufacturer Manufacturer
// db.First(&manufacturer, "name = ?", "test")
// return manufacturer.Name
//}