Skip to content
ReferenceCommand line

rent describe

Use rent describe during review, debugging, or automation when you need to see how Rent interpreted the RSL schema without generating code or connecting to a database.

Inspect the project schema

rent describe
Comment
  Table: comments
  Fields:
    body: String
    id: i64
    state: CommentState (enum: visible, hidden)
  Indexes:
    postId_createdAt: [postId, createdAt]
  Relations:
    post: Post (one, required)

User
  Table: users
  Fields:
    createdAt: chrono::DateTime<chrono::Utc> (optional)
    id: i64
    name: String (1 validator(s))
  Indexes:
    email: [email] (unique)
    name_bio: [name, bio] (fulltext)
  Relations:
    posts: Post (many, optional, inverse)

Each field is named with the Rust type the generated client declares, so the description and the code cannot disagree. An enum field shows its generated type and its stored labels.

The Indexes section reports every index, unique constraint, and full-text index, with its access method and any partial-index predicate, which is what makes this output useful for confirming a constraint was understood before you migrate.

Rent only prints properties and sections that apply, so the output stays compact while still showing constraints, cardinality, required relationships, and inverses.

Inspect a schema outside the default path

rent describe --schema crates/domain/entities

This is useful in a workspace where multiple crates own independent database models.

Review a schema change

rent describe > /tmp/schema-after.txt
diff /tmp/schema-before.txt /tmp/schema-after.txt

Because the output order is stable, ordinary text review makes accidental schema changes obvious.