英文:
Couldn't insert new article. Reason: %!(EXTRA sqlite3.Error=no such table: articles) Beego
问题
在尝试将文章添加到articles表时,出现了错误信息"Couldn't insert new article. Reason: %!(EXTRA sqlite3.Error=no such table: articles"。
models.go
package models
type Article struct {
Id int `form:"-"`
Name string `form:"name,text,name:" valid:"MinSize(5);MaxSize(20)"`
Client string `form:"client,text,client:"`
Url string `form:"url,text,url:"`
}
func (a *Article) TableName() string {
return "articles"
}
Add函数的一部分
if err == orm.ErrNoRows || err == orm.ErrMissPK {
beego.Debug("No article found matching details supplied. Attempting to insert article: ", article)
id, err := o.Insert(&article)
if err == nil {
msg := fmt.Sprintf("Article inserted with id:", id)
beego.Debug(msg)
flash.Notice(msg)
flash.Store(&manage.Controller)
} else {
msg := fmt.Sprintf("Couldn't insert new article. Reason: ", err)
beego.Debug(msg)
flash.Error(msg)
flash.Store(&manage.Controller)
}
} else {
beego.Debug("Article found matching details supplied. Cannot insert")
}
请帮忙看看。我不知道我做错了什么。
英文:
Getting this error Couldn't insert new article. Reason: %!(EXTRA sqlite3.Error=no such table: articles
when trying to add an article to table articles.
models.go
package models
type Article struct {
Id int `form:"-"`
Name string `form:"name,text,name:" valid:"MinSize(5);MaxSize(20)"`
Client string `form:"client,text,client:"`
Url string `form:"url,text,url:"`
}
func (a *Article) TableName() string {
return "articles"
}
part of my Add function
if err == orm.ErrNoRows || err == orm.ErrMissPK {
beego.Debug("No article found matching details supplied. Attempting to insert article: ", article)
id, err := o.Insert(&article)
if err == nil {
msg := fmt.Sprintf("Article inserted with id:", id)
beego.Debug(msg)
flash.Notice(msg)
flash.Store(&manage.Controller)
} else {
msg := fmt.Sprintf("Couldn't insert new article. Reason: ", err)
beego.Debug(msg)
flash.Error(msg)
flash.Store(&manage.Controller)
}
} else {
beego.Debug("Article found matching details supplied. Cannot insert")
}
Please assist. I don't know what am doing wrong.
答案1
得分: 0
我得到了答案,我需要同步我的数据库(类似于Django中的python manage.py makemigrations/migrate
)。所以我在main.go文件中编辑了我的主函数:
func main() {
err := orm.RunSyncdb("default", false, false)
if err != nil {
beego.Error(err)
}
beego.Run()
}
这对我有效。
英文:
I got the answer, I need to Sync my database(similar with Django >> python manage.py makemigrations/migrate
). So I edited my main function inside main.go to:
func main() {
err := orm.RunSyncdb("default", false, false)
if err != nil {
beego.Error(err)
}
beego.Run()
}
This works for me.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论