gorm - 连接postgres数据库
https://dev.to/karanpratapsingh/connecting-to-postgresql-using-gorm-24fj
安装:
$ go get -u gorm.io/gorm $ go get -u gorm.io/driver/postgres创建文件夹和新文件:
pkg/models/book.go<span class="k">package</span> <span class="n">models</span> <span class="k">type</span> <span class="n">Book</span> <span class="k">struct</span> <span class="p">{</span> <span class="n">Id</span> <span class="kt">int</span> <span class="s">`json:"id" gorm:"primaryKey"`</span> <span class="n">Title</span> <span class="kt">string</span> <span class="s">`json:"title"`</span> <span class="n">Author</span> <span class="kt">string</span> <span class="s">`json:"author"`</span> <span class="n">Desc</span> <span class="kt">string</span> <span class="s">`json:"desc"`</span> <span class="p">}</span>连接数据库:
pkg/db/db.go<span class="k">package</span> <span class="n">db</span> <span class="k">import</span> <span class="p">(</span> <span class="s">"log"</span> <span class="s">"github.com/tutorials/go/crud/pkg/models"</span> <span class="s">"gorm.io/driver/postgres"</span> <span class="s">"gorm.io/gorm"</span> <span class="p">)</span> <span class="k">func</span> <span class="n">Init</span><span class="p">()</span> <span class="o">*</span><span class="n">gorm</span><span class="o">.</span><span class="n">DB</span> <span class="p">{</span> <span class="n">dbURL</span> <span class="o">:=</span> <span class="s">"postgres://pg:pass@localhost:5432/crud"</span> <span class="n">db</span><span class="p">,</span> <span class="n">err</span> <span class="o">:=</span> <span class="n">gorm</span><span class="o">.</span><span class="n">Open</span><span class="p">(</span><span class="n">postgres</span><span class="o">.</span><span class="n">Open</span><span class="p">(</span><span class="n">dbURL</span><span class="p">),</span> <span class="o">&</span><span class="n">gorm</span><span class="o">.</span><span class="n">Config</span><span class="p">{})</span> <span class="k">if</span> <span class="n">err</span> <span class="o">!=</span> <span class="no">nil</span> <span class="p">{</span> <span class="n">log</span><span class="o">.</span><span class="n">Fatalln</span><span class="p">(</span><span class="n">err</span><span class="p">)</span> <span class="p">}</span> <span class="n">db</span><span class="o">.</span><span class="n">AutoMigrate</span><span class="p">(</span><span class="o">&</span><span class="n">models</span><span class="o">.</span><span class="n">Book</span><span class="p">{})</span> <span class="k">return</span> <span class="n">db</span> <span class="p">}</span>