我有一个现有的 mysql 表,它使用 mysql 的UUID_SHORT()函数来生成唯一的 ID。该表的简化版本:CREATE TABLE `users` ( `user_uuid` bigint(20) unsigned NOT NULL, `user_name` varchar(64) NOT NULL);并且将通过以下方式创建一个新用户:INSERT INTO users (user_uuid, user_name) values (UUID_SHORT(), "new user name");我开始使用gorm实现 DBs 模型,并且我在创建用户的新实例时如何告诉 gorm 和数据库/sql 调用 UUID_SHORT() 空白。来自模型/users.go:package modeltype User struct { UserUUID uint64 `gorm:"column:user_uuid;primary_key:yes";sql:"notnull;default:uuid_short"` UserName string `sql:"notnull"`}func (user User) TableName() string { return "users"}来自模型/users_test.go:package model_testimport ( "testing" ".../model" ".../model/testutil")func TestUserCreate(t *testing.T) { user := model.User{ // UserUUID: **HOW DO I CALL UUID_SHORT() HERE?**, UserName: "Go Test", } // testutil.DB is the successful result of gorm.Open("mysql", ...) testutil.DB.Create(&user)}保存实例时,如何为 user_uuid 列调用 UUID_SHORT()?
1 回答
- 1 回答
- 0 关注
- 147 浏览
添加回答
举报
0/150
提交
取消