我正在用golang编写我的第一个应用程序,对于新手的问题很抱歉,但我无法找到解决以下问题的方法:
我有两张桌子,一张是position,另一张是附件。每个位置可以有多个附件。这是我的模型:
type Positions struct {
Sys_id int `gorm:"AUTO_INCREMENT" gorm:"column:sys_id" json:"sys_id,omitempty"`
Name string `gorm:"size:120" gorm:"column:name"
因此,我对Gorm非常陌生,并且正在玩它,但我似乎无法在删除级联上工作。这些是我的模型:
type Base struct {
Id string `json:"id" gorm:"type:uuid;primary_key"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type User struct {
Base
Role string `json:
我有以下结构
type Store struct {
StoreID int `gorm:"primary_key;AUTO_INCREMENT;not null"`
Name string `gorm:"not null"`
Adress string `gorm:"not null"`
Manager User `gorm:"not null"`
ManagerID int `gorm:"foreignkey:ManagerID;not n
如何使用Gorm和Postgres保存用户的地址关系?
package main
import (
"fmt"
"log"
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/postgres"
)
var (
pgUri = "postgres://postgres@127.0.0.1:5432/postgres?sslmode=disable"
)
type User struct {
g
我有一套GORM模型,有两个一对多的关系:
type Order struct {
ID string `gorm:"column:id"`
ClientID string `gorm:"primaryKey;column:client_id"`
Name string `gorm:"column:name"`
Albums []Album `gorm:"foreignKey:RequestClientID"`
}
type Album struct {
Al
我正在使用Gorm开发一个Gin应用程序(我对他们都很陌生)。我有以下模型:
type Record struct {
Barcode string `json:"barcode" gorm:"size:48;unique;not null" sql:"index"`
Name string `json:"name" gorm:"size:160;unique;not null"`
Artist Artist `
我在我的RestFul服务中使用了golang,但是,现在我怀疑这可能很简单,但我找不到任何示例或特定的文档,这对我来说并不清楚。
假设我有表用户和语言,任何用户都可以有多种语言,任何语言都可以有很多用户,在这种关系数据库建模理论中,我们必须创建一个表users_languages,检查gorm --我看到我将不得不使用很多到许多关系。
到目前为止,我已经有了定义用户和语言表的结构,让我们说:
type User struct {
gorm.Model
Languages []Language `gorm:"many2many:user_language
我被困在用GORM连接两张桌子上。毕竟,我发现预加载会解决这个问题。然而,我并没有弄清楚如何使用它。我试了很多方法,但都没有用。我有两张桌子。用户和角色。每个用户将与一个角色相关联。
下面是用户表的架构
CREATE TABLE `users` (
`id` int NOT NULL AUTO_INCREMENT,
`first_name` varchar(45) NOT NULL,
`last_name` varchar(45) NOT NULL,
`email` varchar(45) NOT NULL,
`password` varchar(45) NOT NULL,
我在我的项目中使用gorm作为ORM,我有一些与一起相关的模型。但是在迁移之后,我在数据库中看不到任何关系!
以下是我的模型:
type User struct {
ID uint `gorm:"primary_key"`
CreatedAt time.Time `gorm: "primary_key"`
UpdatedAt time.Time
ArchivedAt time.Time
ReferenceId int `gorm:"pr
我的第一天要去。我试图在Revel中开发一个GORM迁移机制。
这些是我的模型结构:
type Role struct {
gorm.Model
Name string
}
type User struct {
gorm.Model
Name string
Role Role `gorm:"foreignkey:RoleIdForRole;association_foreignkey:Id"`
}
我简单地自动化了这两个结构,如下所示,它们工作得很好。我看到称为用户和角色的表,但是users表没有字段role_id或roleID
db
我有如下所示的sql结构:
CREATE TABLE resources (
id SERIAL PRIMARY KEY,
title TEXT NOT NULL,
created_at TIMESTAMPTZ NOT NULL,
updated_at TIMESTAMPTZ NOT NULL,
deleted_at TIMESTAMPTZ
);
CREATE TABLE tags (
name TEXT PRIMARY KEY
);
我需要写什么sql,如何告诉gorm我想要一个Resource有很多Tag?这就是我现在要做的:
package models
我有这三个型号
type Store struct {
Id int `gorm: "type:int;primary_key;AUTO_INCREMENT;NOT NULL;UNIQUE"`
Store_Id string `gorm:"type:varchar(190)";"NOT NULL";"UNIQUE"`
}
type File struct {
Id int `gorm: "type:int;primary_key;AUTO_INCREMENT;NOT NULL;UNIQUE"
我正在使用GORM进行数据库迁移。所以我定义了结构,并通过GORM的AutoMigrate函数运行它们。
type Person struct {
ID string `gorm:"type:varchar(36);primary_key"`
}
err := db.Table("persons").AutoMigrate(&Person{}).Error
type Address struct {
ID string `gorm:
我正在尝试获取有许多作者的书籍数据。它们之间的关系类型很简单-从多到多-只有一个枢轴表包含两个ID。
package model
import "gorm.io/gorm"
type Author struct {
gorm.Model
ID uint `gorm:"primaryKey; autoIncrement" json:"id"`
Name string `gorm:"Not Null" json:"name"`
Book []*Book `gorm:
我正在学习golang与gqlgen和gorm作为orm,我正在创建一个应用程序使用2个模型的用户和消息,其中用户有一个消息列表,消息有发送者和接收者。我使它们如下所示: type User struct {
ID string `json:"id" gorm:"primary_key;type:uuid;default:uuid_generate_v4()"`
Username string `json:"username"`
Email string `json:
我有以下两个gorm型号 // Day is a corresponding day entry
type Day struct {
gorm.Model
Dateday string `json:"dateday" gorm:"type:date;NOT NULL"`
Nameday string `json:"nameday" gorm:"type:varchar(100);NOT NULL"`
Something sql.NullString `jso
我使用的是gorm,其中的User表包含一个引用Address的外键,然后引用Country。
type User struct {
ID int `gorm:"column:id; primaryKey; autoIncrement" json:"id"`
Address Address
AddressID int `gorm:"column:address_id;foreignKey:AddressID;references:ID"
我正在使用golang和gorm与MySQL数据库对话。
我有一个包含发布元数据的表:
type OSType string
const (
Windows OSType = "windows"
Mac OSType = "mac"
)
type AgentMetadata struct {
Version string `gorm:"primary_key"`
OS OSType `gorm:"prim
首先,使用sqlite3 test.db < schema.sql创建数据库。
schema.sql含量
CREATE TABLE x (
id INTEGER PRIMARY KEY,
name TEXT
);
CREATE TABLE y (
id INTEGER PRIMARY KEY,
name TEXT,
x_id INTEGER REFERENCES x
);
然后用go run main.go运行程序。
main.go含量
package main
import (
"gorm.io/gorm"
Has One,Has Many和Belong To有什么区别?
我有三个模特
UserProfile,profile和user应该有one to one,one to one,category应该是foreign key to user
type User struct {
gorm.Model
Email *string
Name string
...
}
type Profile struct {
gorm.Model
Phone string
Address string
...
}
type Category struct {
gorm.Model
Name string
}
我需要用复合主键创建这些表:
type Tenant struct {
gorm.Model
Description string
}
type BaseModel struct {
gorm.Model
TenantID uint `gorm:"primaryKey"`
Tenant Tenant
}
type Player struct {
BaseModel
Name string
Teams []Team
}
type Team struct {
BaseModel
Nam
我试图在gorm中手动添加一个外键,但是我得到了这个错误
db.Model(&models.Business{}).AddForeignKey undefined (type *gorm.DB has no field or method AddForeignKey)
正在使用postgres我试过了
db.Model(&Business{}).AddForeignKey("cust_id", "customers(cust_id)", "CASCADE", "CASCADE")
我正在尝试使用创建自引用字段
type Post struct {
ID uint `gorm:"primary_key" json:"id"`
Post *Post `json:"post" xml:"post" sql:"default:null"`
}
db.AutoMigrate(&Post{})
没有在DB中创建列post_id。尝试了几个结构字段名,没有运气。
哪一种方法是正确的处理自我折射的关联?
谢谢。
在文档中,我们有以下示例:
type User struct {
gorm.Model
Name string
}
// `Profile` belongs to `User`, `UserID` is the foreign key
type Profile struct {
gorm.Model
UserID int
User User
Name string
}
如果我执行类似于profile.User = &user的操作,这会自动填充UserID字段吗?建议两种方法都设置吗?比如:
profile.User = &user
profi
我有以下结构
type User struct {
gorm.Model
FirstName string
LastName string
Contact Contact
}
type Contact struct {
gorm.Model
Email string
}
每当我尝试启动我的项目(哪个AutoMigrate)表时,它会说
invalid field found for struct User
我想从其他表中获取相关数据 我有以下模型结构 type Community struct {
ID string `json:"id" gorm:"primaryKey"`
Name string `json:"name"`
Category CommunityCategory `json:"category" gorm:"foreignKey:ID"`
}
type CommunityCategory struct {
当我使用并运行dbm-gorm-diff时(例如,在安装Spring Security Facebook插件之后),我遇到了如下问题:
Error: Error executing SQL CREATE INDEX `FK609FD5A460CFCC39` ON `facebook_user`(`user_id`): Incorrect index name 'FK609FD5A460CFCC39'
看起来有问题的索引既是FK约束,又是稍后在生成的升级脚本中重用的索引。如果我更改了名称,从而删除了重复项,一切都会正常工作。我正在使用Mysql。我做错了什么吗?
谢谢。
我是Grails和GORM的新手,我尝试实现“一对多”的关系。我在文档中尝试了这个示例:
class Book {
String title
}
class Author {
static hasMany = [books: Book]
String name
}
下面是生成的表:
AUTHOR
- Id (PK)
- Name
BOOK
- Id (PK)
- Title
AUTHOR_BOOK
- Author_Books_Id
- Book_Id
我期待的是更多的东西:
AUTHOR
- Id (PK)
- Name
BOOK
- Author_Id (P