Tutorial~20 MinutenDatenbanken

SeaORM Integration

CRUD-Operationen, die zu SeaORM-Entities und ActiveModel-Calls generiert werden.

Was du lernen wirst

  • Config in velin.config.json
  • Create, Read, Update, Delete
  • Structs als Entities

Config

{
  "orm": "seaorm",
  "database": {
    "orm": "seaorm",
    "connectionString": "${DATABASE_URL}"
  }
}

CRUD

@POST("/api/users")
fn createUser(name: string, email: string): User {
    let user = User {
        id: generateId(),
        name: name,
        email: email,
    };
    return db.save(user);
}

@GET("/api/users/:id")
fn getUser(id: string): User {
    return db.find(User, id);
}

@GET("/api/users")
fn getUsers(): List<User> {
    return db.findAll(User);
}

@PUT("/api/users/:id")
fn updateUser(id: string, name: string): User {
    let user = db.find(User, id);
    user.name = name;
    return db.save(user);
}

@DELETE("/api/users/:id")
fn deleteUser(id: string): void {
    db.delete(User, id);
}

Entity

struct User {
    id: string,
    name: string,
    email: string,
}

Structs werden automatisch zu SeaORM-Entities generiert.