What would be the best way to store the country of a user in SQL?
What would be the best way to store the country of a user in SQL?
I use Gorm. This is the current code:
go
package main import ( "fmt" "log" "gorm.io/driver/sqlite" "gorm.io/gorm" ) type Env struct { DB *gorm.DB Logger *log.Logger } type User struct { ID uint Username string Name string Email string PasswordHash string Country string //should probably be a foreign key of another table } func initDB() { env := &Env{} db, err := gorm.Open(sqlite.Open("gorm.db"), &gorm.Config{}) if err != nil { fmt.Printf("Error opening database: %v", err) return } env.DB = db env.DB.AutoMigrate(&User{}) } func main() { initDB() }
As you can see in the comment in the code, I assume the best way would be to have a table of countries and then assign each user to one via a foreign key. However, it seems a bit cumbersome to manually create a list of all countries. Is there a better way to do this?