mirror of
https://github.com/marcusDenslow/terminalShop.git
synced 2026-10-25 18:08:45 +01:00
changed the ssh key to just do fingerprinting and not store it at all, and not be able to edit it either in the account page
33 lines
856 B
Go
33 lines
856 B
Go
package database
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
|
|
"gorm.io/gorm"
|
|
"terminalShop/pkg/models"
|
|
)
|
|
|
|
// Migrate runs database migrations
|
|
func Migrate(db *gorm.DB) error {
|
|
log.Println("Running database migrations...")
|
|
|
|
// AutoMigrate will create tables, missing columns, and indexes
|
|
// It will NOT delete unused columns or change column types
|
|
if err := db.AutoMigrate(
|
|
&models.Cart{}, // Server-side shipping cart
|
|
&models.CartItem{}, // Cart line items
|
|
&models.Coffee{},
|
|
&models.User{}, // SSH key-based authentication
|
|
&models.Card{}, // Saved payment methods
|
|
&models.Order{}, // Completed purchases
|
|
&models.OrderItem{}, // Line items within orders
|
|
&models.Address{}, // Saved addresses
|
|
); err != nil {
|
|
return fmt.Errorf("migration failed: %w", err)
|
|
}
|
|
|
|
log.Println("Database migrations completed successfully")
|
|
return nil
|
|
}
|