Skip to main content

Crate medoo_rs

Crate medoo_rs 

Source
Expand description

medoo_rs — query builder dinámico inspirado en Medoo (PHP).

Núcleo sin dependencias: construye SQL parametrizado con placeholders correctos por backend (Postgres $N, MySQL/SQLite ?). La capa async con sqlx se monta encima en una segunda iteración.

Re-exports§

pub use backend::Backend;
pub use cond::Cond;
pub use cond::Operator;
pub use delete::DeleteQuery;
pub use error::QueryError;
pub use error::Result;
pub use insert::InsertQuery;
pub use json::JsonPath;
pub use json::JsonSeg;
pub use log::LogCategory;
pub use log::LogSink;
pub use log::Logger;
pub use log::Query;
pub use migration::tracking_table_sql;
pub use migration::Migration;
pub use migration::Migrator;
pub use schema::AlterTable;
pub use schema::ColDef;
pub use schema::ColType;
pub use schema::CreateDatabase;
pub use schema::CreateTable;
pub use schema::DropDatabase;
pub use schema::DropTable;
pub use triggers::CreateEvent;
pub use triggers::CreateTrigger;
pub use triggers::DropEvent;
pub use triggers::DropTrigger;
pub use triggers::TriggerEvent;
pub use triggers::TriggerTime;
pub use views::CreateView;
pub use views::DropView;
pub use select::OrderDir;
pub use select::SelectQuery;
pub use template::RawTemplate;
pub use update::UpdateQuery;
pub use value::IntoValue;
pub use value::Value;

Modules§

backend
cond
delete
error
ident
insert
json
Soporte para columnas JSON inspirado en la API de MySQL (JSON_EXTRACT, JSON_UNQUOTE, JSON_CONTAINS), con renders equivalentes para Postgres (#>, #>>, @>) y SQLite (json_extract).
log
Logging de SQL ejecutado. Categorías como bitflags (puede combinar varias), sinks intercambiables (stdout/stderr/archivo/buffer en memoria para tests). El log se dispara cuando el usuario llama Db::build(&q) o explícitamente db.log_ddl() / db.log_raw().
migration
Migraciones: data model + planificador de orden. La ejecución contra el motor real se hace en la capa async del usuario, que llama migrator.pending(applied).iter() y ejecuta cada sentencia up (o down para rollback).
runtime
Adapter async sobre sqlx. Solo se compila si activai una feature runtime-*. El núcleo (sin feature) sigue zero-deps.
schema
DDL: CREATE TABLE, DROP TABLE, ALTER TABLE. Genera SQL parametrizado por backend con identifiers validados. No incluye abstracción de tipos exhaustiva — los tipos comunes están cubiertos; lo raro va vía ColType::Raw("...").
select
template
Templates SQL crudos con placeholders {{WHERE}} / {{ORDER}} etc.
triggers
Triggers y events. El body se trata como SQL crudo: la lib valida el name y la table, pero el cuerpo es responsabilidad del dev (no debería venir nunca de input de usuario).
update
value
views
Vistas: CREATE VIEW, DROP VIEW, CREATE MATERIALIZED VIEW (PG).

Macros§

record
Construye un Vec<(String, Value)> listo para InsertQuery::set.
where_
Construye un Cond::And a partir de comparaciones planas estilo Medoo.

Structs§

Db
Punto de entrada estilo Medoo. No mantiene pool todavía: solo construye queries y emite (sql, params).

Derive Macros§

FromRow