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ícitamentedb.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 sentenciaup(odownpara 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íaColType::Raw("..."). - select
- template
- Templates SQL crudos con placeholders
{{WHERE}}/{{ORDER}}etc. - triggers
- Triggers y events. El
bodyse trata como SQL crudo: la lib valida elnamey latable, 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 paraInsertQuery::set. - where_
- Construye un
Cond::Anda 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).