mirror of
https://github.com/ent/ent.git
synced 2026-05-24 09:31:56 +03:00
* entc/gen: change name format for edge fks * dialect/sql/schema: add fixture support for mysql and postgres * sql/dialect: merge fkcolumn queries to one for the 2 dialects
146 lines
2.9 KiB
Go
146 lines
2.9 KiB
Go
// Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
// This source code is licensed under the Apache 2.0 license found
|
|
// in the LICENSE file in the root directory of this source tree.
|
|
|
|
// Code generated by entc, DO NOT EDIT.
|
|
|
|
package entv2
|
|
|
|
import (
|
|
"context"
|
|
"log"
|
|
|
|
"github.com/facebookincubator/ent/dialect/sql"
|
|
|
|
"github.com/facebookincubator/ent/entc/integration/migrate/entv2/user"
|
|
)
|
|
|
|
// dsn for the database. In order to run the tests locally, run the following command:
|
|
//
|
|
// ENTV2_INTEGRATION_ENDPOINT="root:pass@tcp(localhost:3306)/test?parseTime=True" go test -v
|
|
//
|
|
var dsn string
|
|
|
|
func ExampleCar() {
|
|
if dsn == "" {
|
|
return
|
|
}
|
|
ctx := context.Background()
|
|
drv, err := sql.Open("mysql", dsn)
|
|
if err != nil {
|
|
log.Fatalf("failed creating database client: %v", err)
|
|
}
|
|
defer drv.Close()
|
|
client := NewClient(Driver(drv))
|
|
// creating vertices for the car's edges.
|
|
|
|
// create car vertex with its edges.
|
|
c := client.Car.
|
|
Create().
|
|
SaveX(ctx)
|
|
log.Println("car created:", c)
|
|
|
|
// query edges.
|
|
|
|
// Output:
|
|
}
|
|
func ExampleGroup() {
|
|
if dsn == "" {
|
|
return
|
|
}
|
|
ctx := context.Background()
|
|
drv, err := sql.Open("mysql", dsn)
|
|
if err != nil {
|
|
log.Fatalf("failed creating database client: %v", err)
|
|
}
|
|
defer drv.Close()
|
|
client := NewClient(Driver(drv))
|
|
// creating vertices for the group's edges.
|
|
|
|
// create group vertex with its edges.
|
|
gr := client.Group.
|
|
Create().
|
|
SaveX(ctx)
|
|
log.Println("group created:", gr)
|
|
|
|
// query edges.
|
|
|
|
// Output:
|
|
}
|
|
func ExamplePet() {
|
|
if dsn == "" {
|
|
return
|
|
}
|
|
ctx := context.Background()
|
|
drv, err := sql.Open("mysql", dsn)
|
|
if err != nil {
|
|
log.Fatalf("failed creating database client: %v", err)
|
|
}
|
|
defer drv.Close()
|
|
client := NewClient(Driver(drv))
|
|
// creating vertices for the pet's edges.
|
|
|
|
// create pet vertex with its edges.
|
|
pe := client.Pet.
|
|
Create().
|
|
SaveX(ctx)
|
|
log.Println("pet created:", pe)
|
|
|
|
// query edges.
|
|
|
|
// Output:
|
|
}
|
|
func ExampleUser() {
|
|
if dsn == "" {
|
|
return
|
|
}
|
|
ctx := context.Background()
|
|
drv, err := sql.Open("mysql", dsn)
|
|
if err != nil {
|
|
log.Fatalf("failed creating database client: %v", err)
|
|
}
|
|
defer drv.Close()
|
|
client := NewClient(Driver(drv))
|
|
// creating vertices for the user's edges.
|
|
c0 := client.Car.
|
|
Create().
|
|
SaveX(ctx)
|
|
log.Println("car created:", c0)
|
|
pe1 := client.Pet.
|
|
Create().
|
|
SaveX(ctx)
|
|
log.Println("pet created:", pe1)
|
|
|
|
// create user vertex with its edges.
|
|
u := client.User.
|
|
Create().
|
|
SetAge(1).
|
|
SetName("string").
|
|
SetNickname("string").
|
|
SetPhone("string").
|
|
SetBuffer(nil).
|
|
SetTitle("string").
|
|
SetNewName("string").
|
|
SetBlob(nil).
|
|
SetState(user.StateLoggedIn).
|
|
AddCar(c0).
|
|
SetPets(pe1).
|
|
SaveX(ctx)
|
|
log.Println("user created:", u)
|
|
|
|
// query edges.
|
|
c0, err = u.QueryCar().First(ctx)
|
|
if err != nil {
|
|
log.Fatalf("failed querying car: %v", err)
|
|
}
|
|
log.Println("car found:", c0)
|
|
|
|
pe1, err = u.QueryPets().First(ctx)
|
|
if err != nil {
|
|
log.Fatalf("failed querying pets: %v", err)
|
|
}
|
|
log.Println("pets found:", pe1)
|
|
|
|
// Output:
|
|
}
|