我__701544_最近学会了如何利用gorm连接到数据库 . 我可以't figure out how to import said connection. Only open and defer it'在 func main()
范围内收盘
我目前有什么:
func main(){
db, _ := gorm.Open("postgres", "host=localhost port=5432 user=someUser dbname=someDB password=somePW sslmode=disable")
defer db.Close()
}
这工作正常,我可以创建表并做CRUD ...但所有在主函数 .
无论如何我可以做这样的事情(它不起作用)并在main中使用它:
func db(){
db, _ := gorm.Open("postgres", "host=localhost port=5432 user=someUser dbname=someDB password=somePW sslmode=disable")
defer db.Close()
return db
}
或者定义某种类型的包,这也允许我这样做 .
我知道推迟将基本上只是在db返回后关闭连接,但希望你们得到我想要的东西 .
1 回答
创建一个包来保存database value:
在
main()
中,打开数据库并在返回时关闭它:任何包都可以导入数据包并以
db.DB
的形式访问数据库 .另一种方法是使用您目前正在使用的工作 . 在main中打开数据库并将其传递给需要它的函数: