Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 沉迷于戈姆”;未定义:第页“;_Postgresql_Go_Orm_Revel_Go Gorm - Fatal编程技术网

Postgresql 沉迷于戈姆”;未定义:第页“;

Postgresql 沉迷于戈姆”;未定义:第页“;,postgresql,go,orm,revel,go-gorm,Postgresql,Go,Orm,Revel,Go Gorm,我只是想用revel、gorm和pq创建一个新项目。 我在app/models中有model页面: package models import ( "time" ) type Page struct { Id int64 Title string `sql:"size:255"` Context string Url string MetaKeys string MetaDescr string

我只是想用
revel
gorm
pq
创建一个新项目。 我在
app/models
中有model
页面

package models

import (
    "time"
)

type Page struct {
    Id        int64
    Title     string `sql:"size:255"`
    Context   string
    Url       string
    MetaKeys  string
    MetaDescr string
    CreatedAt time.Time
    UpdatedAt time.Time
    DeletedAt time.Time
}
app/controllers
中的
gorm.go

package controllers

import (
    _ "myapp/app/models"
    _ "code.google.com/p/go.crypto/bcrypt"
    _ "database/sql"
    "fmt"
    "github.com/jinzhu/gorm"
    _ "github.com/lib/pq"
    _ "github.com/revel/revel"
    "github.com/revel/revel/modules/db/app"
)

var (
    DB gorm.DB
)

func InitDB() {
    db.Init()

    var err error
    DB, err = gorm.Open("postgres", "user=postgres dbname=mydb_development sslmode=disable")
    if err != nil {
        panic(fmt.Sprintf("Got error when connect database, the error is '%v'", err))
    }

    DB.LogMode(true)

    DB.AutoMigrate(Page{})
}

我在
DB.AutoMigrate(Page{})
行中有错误
undefined:Page
,但我在
行中链接了我的模型-“myapp/app/models”
。怎么了

您忘记添加模型的包标识符:由于您的模型结构是在另一个包中定义的,它的名称(在
控制器
包的本地)应该是
模型。Page

如果您真的想去掉包标识符,并像本地定义的那样,我认为您还可以通过将包分配给
标识符,在本地导入
模型
包。例如:

import (
    . "myapp/app/models"
)
_这是一种副作用。“.”将包导入当前命名空间。