无法连接到beego中的postgresql数据库

时间:2017-04-12 19:06:49

标签: postgresql go beego

我正在玩beego,但我坚持连接到postgresql db。

模型

package models

import(
    "github.com/astaxie/beego/orm"  
    "time"
)

type User struct {
    Id   int
    Username string `orm:"size(100);unique"`
    Email string `orm:"size(64);unique"`
    Created time.Time `orm:"auto_now_add;type(datetime);index"`
    Edited time.Time `orm:"auto_now;type(datetime)"`
    Passpheres string 
    Activated bool   
}

func init() {
    orm.RegisterModel(new(User))
}

这是主要的

package main

import (
    _ "test/routers"
    "github.com/astaxie/beego"
    "github.com/astaxie/beego/orm"
    _ "github.com/lib/pq"
    "test/models"
    "fmt"
)

func int(){
    orm.RegisterDriver("postgres", orm.DRPostgres)
    orm.RegisterDataBase("default", 
        "postgres",
        "user=aaaa password=1234567 host=127.0.0.1 port=5432 dbname=gotest sslmode=disable");

    orm.RunSyncdb("default", false, true)
}

func main() {
    orm.Debug = true

    o := orm.NewOrm()
    o.Using("default")
    u := new(models.User)
    u.Username = "test1"
    u.Email = "ads@asdad.com"
    u.Passpheres = "123456"
    u.Activated = true

     id, err := o.Insert(u)
     fmt.Printf("ID: %d, ERR: %v\n", id, err)
    beego.Run()
}

日志显示:

  

必须有一个名为default

的寄存器DataBase别名

我检查了postgres的主机和端口,它们都是正确的,包括用户,密码和数据库。

这是因为db连接吗? 我顺便使用PostgreSQL 9.5.6和beego 1.8.1。

更新 我多么傻!!我错过了#34;我"在init函数声明中。所以我只需要纠正语法,并且一切顺利!

func init(){ // init instead of int
    orm.RegisterDriver("postgres", orm.DRPostgres)
    orm.RegisterDataBase("default", 
        "postgres",
        "user=aaaa password=1234567 host=127.0.0.1 port=5432 dbname=gotest sslmode=disable");

    orm.RunSyncdb("default", false, true)
}

0 个答案:

没有答案