SQL → Rust: модели из DDL-скрипта
Ниже — не картинка и не пересказ: это настоящий вывод генератора для схемы слева. Тот же код вы получите в редакторе кнопкой «Codegen → Rust».
Что на входеschema.sql
CREATE TABLE users (
id BIGINT NOT NULL PRIMARY KEY,
email VARCHAR(255) NOT NULL UNIQUE,
full_name VARCHAR(120),
is_active BOOLEAN NOT NULL,
created_at TIMESTAMP NOT NULL
);
CREATE TABLE orders (
id BIGINT NOT NULL PRIMARY KEY,
user_id BIGINT NOT NULL REFERENCES users(id),
total DECIMAL(12,2) NOT NULL,
note TEXT,
placed_at TIMESTAMP NOT NULL
);Что получитсяmodels.rs
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct Users {
pub id: i64,
pub email: String,
pub full_name: Option<String>,
pub is_active: bool,
pub created_at: chrono::NaiveDateTime,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct Orders {
pub id: i64,
pub user_id: i64, // → users.id
pub total: rust_decimal::Decimal,
pub note: Option<String>,
pub placed_at: chrono::NaiveDateTime,
}Открыть редактор
Скрипт остаётся в браузере: и разбор, и генерация идут на вашей машине, на сервер ничего не уходит.
Как ложатся типы
| в SQL | в модели |
|---|---|
BIGINT | i64 |
VARCHAR(255) | String |
BOOLEAN | bool |
TIMESTAMP | chrono::NaiveDateTime |
DECIMAL(12,2) | rust_decimal::Decimal |
TEXT | Option<String> |
- Необязательное поле
Option<String>- Имя колонки
full_name- Связь
// → users.id