Models & Schemas
Define a model, types, constraints, relations, migrations.
● ● ●
use runique::prelude::*;
derive_form! {
Product {
fields: {
name: text [max_length: 255, required]
slug: text [max_length: 255, required, unique]
description: text
price: decimal [required]
stock: int [default: 0]
active: bool [default: true]
category_id: fk(Category) [required]
}
meta: { table_name: "product" }
}
}
[required] NOT NULL field
[nullable] NULL field
[unique] UNIQUE constraint
[max_len(N)] VARCHAR(N)
[default(value)] SQL default value
[auto_now] CURRENT_TIMESTAMP on creation
[auto_now_update] CURRENT_TIMESTAMP on each update
[fk(table.col, cascade)] foreign key with ON DELETE CASCADE
[fk(table.col, null)] foreign key with ON DELETE SET NULL
derive_form! {
Article {
fields: { title: text [required] }
meta: { table_name: "article" }
}
}
// Enables Article::objects.all(), .filter(), .get(), etc.
impl_objects!(Entity);