Comments (3)
解决了吗
from sharding.
@hyperphoton 看看这个问题
from sharding.
The problem is that when result := db.Create(&user)
is executed there is an error at the database level, but you didn't check it, so the user.ID is 0.
Here is a worked example:
package main
import (
"fmt"
"gorm.io/driver/postgres"
"gorm.io/gorm"
"gorm.io/sharding"
)
type User struct {
ID int64 `gorm:"column:id;primaryKey"`
UserId int64 `gorm:"column:user_id"`
}
func main() {
dsn := "postgres://localhost:5432/sharding-db?sslmode=disable"
db, _ := gorm.Open(postgres.New(postgres.Config{DSN: dsn}))
shard := sharding.Register(sharding.Config{
ShardingKey: "user_id",
NumberOfShards: 1,
PrimaryKeyGenerator: sharding.PKSnowflake,
}, "users")
db.Use(shard)
user := User{UserId: 42}
err := db.Create(&user).Error // pass pointer of data to Create
if err != nil {
panic(err)
}
fmt.Println(user.ID) // 1546765735429144576
}
from sharding.
Related Issues (20)
- Error 1054 (42S22): Unknown column 'user_follow.deleted_at' in 'where clause' HOT 11
- example doesn't cover soft delete cases
- Preload 关联模式能用么?
- When DoubleWrite is on, is the query also run twice?
- sharding.Register((sharding.Config literal), (model.XXXX literal)).Register undefined (type *sharding.Sharding has no field or method
- Why restrict the primary key of sharding to int64 and must be called "ID" HOT 3
- Support for custom schema name in Postgres
- does gorm sharding support JOIN ? HOT 5
- Question about the requirement of go version
- not compatible with "gorm.io/plugin/soft_delete" plugins when using mysql HOT 1
- full text query macth not work HOT 4
- 怎么自定义路由策略
- Use sharding with AutoMigrate failed
- 如果我有不同表有不同的sharding config怎么办 HOT 2
- 支持配置多个数据库吗
- mysql使用了for update报expected semicolon or EOF, found 'FOR'错误 HOT 1
- sharding key or id required, and use operator =
- sharding支持mysql吗? HOT 2
- Occur DATA RACE when use sharding in concurrency HOT 2
- panic: interface conversion: sharding.ShardingMigrator is not migrator.BuildIndexOptionsInterface: missing method BuildIndexOptions HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sharding.