# ent-go-demo **Repository Path**: conway_liu/ent-go-demo ## Basic Information - **Project Name**: ent-go-demo - **Description**: entgo 测试项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-13 - **Last Updated**: 2024-11-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ``` go get entgo.io/ent/cmd/ent # 建表 go run -mod=mod entgo.io/ent/cmd/ent new Demo # 修改字段数据 >> ent/schema/demo.go func (Demo) Fields() []ent.Field { return []ent.Field{ field.Text("username").Unique().Comment("用户"), field.Text("password").Default("123456").Comment("密码"), field.Time("c_time").Default(time.Now).Immutable().Comment("创建时间"), field.Time("u_time").Default(time.Now).UpdateDefault(time.Now).Comment("修改时间"), field.Enum("sources").NamedValues("local", "0", "remote", "1").Default("0").Comment("用户类型"), } } # 生成数据 go generate ./ent # 新建连接 // client, err := ent.Open("sqlite3", "file:ent?mode=memory&cache=shared&_fk=1") client, err := ent.Open("sqlite3", "file:file.db?_fk=1") if err != nil { log.Fatalf("failed opening connection to sqlite: %v", err) } defer client.Close() # 合并数据 // Run the auto migration tool. if err := client.Schema.Create(context.Background()); err != nil { log.Fatalf("failed creating schema resources: %v", err) } # 新增数据 // create save, err := client.Demo.Create().SetText("zhangsan").Save(context.Background()) if err != nil { log.Fatalf("create failed: %v", err) } fmt.Println(save) # 查询数据 client.Demo.Query().All(context.Background()) # 删除数据 // fmt.Println(client.Demo.Delete().Exec(context.Background())) fmt.Println(client.Demo.Delete().Where(demo.UsernameEQ("zhangsan1")).Exec(context.Background())) // fmt.Println(client.Demo.DeleteOneID(2).Exec(context.Background())) userData, err := client.Demo.Query().Where(demo.UsernameEQ("zhangsan3")).Only(context.Background()) fmt.Println(userData, err) fmt.Println(client.Demo.DeleteOne(userData).Exec(context.Background())) ```