Skip to main content

Crate dinoco_engine

Crate dinoco_engine 

Source

Re-exports§

pub use chrono;
pub use deadpool_postgres;
pub use mysql_async;
pub use mysql_common;
pub use rusqlite;
pub use serde_json;
pub use tokio_postgres;

Structs§

AddColumnMigration
AddForeignKeyMigration
AlterColumnMigration
AlterEnumMigration
ConstraintDetails
Where a constraint violation happened, as far as the driver reports it.
CountQuery
CreateEnumMigration
CreateIndexMigration
CreateTableMigration
CurrentTimeSql
The SQL each dialect evaluates to “now” when assigning UpdateOperation::CurrentTimestamp/UpdateOperation::CurrentDate. Both are UTC so they match the values Dinoco itself writes.
DatabaseError
A database failure together with Dinoco’s portable classification. The original driver error remains available through the standard error chain.
DeleteQuery
DinocoClient
DinocoManager
Runs schema operations for a manual migration.
DropColumnMigration
DropEnumMigration
DropForeignKeyMigration
DropIndexMigration
DropTableMigration
ExecutedQuery
The statement behind one observed operation, as Dinoco compiled it for the client’s backend.
ExistsQuery
FindBatchItem
One find_many/find_first compiled to run alongside others in a single FindBatchQuery.
FindBatchQuery
Backs find_batch(...) in “single query” mode: every item is compiled into its own JSON-aggregated subquery (json_build_object/json_agg on Postgres, JSON_OBJECT/JSON_ARRAYAGG on MySQL, json_object/ json_group_array on SQLite) and all of them are selected together in one round trip, each producing a JSON array of rows.
FindQuery
InsertQuery
ManyToManyMatch
Payload for FindWhere::ManyToMany.
ManyToManyRelationCountQuery
ManyToManyRelationQuery
ManyToManyUpdate
MigrationColumn
MigrationEntry
A named migration in the registry returned by dinoco/migrations/mod.rs.
MigrationForeignKey
MigrationIndex
MigrationStatus
The state of one migration, as reported by migration_status.
MySqlAdapter
PgBouncerAdapter
PluckValue
Wraps a single scalar column read from position 0 of a result row.
PostgresAdapter
PostgresRow
A row of data returned from the database by a query.
QueryHooks
Every table’s callbacks on one client. Installed with dinoco::setup_test_methods::<M>(&client).
RelationBatchQuery
RelationCountQuery
RelationJoinQuery
RenameColumnMigration
RenameTableMigration
RowDecodeError
Marker used by adapters when a row exists but a generated model cannot be decoded from it.
SingleIdRow
SqliteAdapter
SqliteRow
A single result row of a query.
TableHooks
Callbacks for one table, run after each operation on it.
TransactionCommand
TransactionExecutor
A live transaction pinned to one physical database connection.
UpdateQuery
UpdateSet
UpdatedAtField
A column the database refreshes on every scalar UPDATE of its row (@updated_at in the schema), unless the update sets it explicitly.
WhereComplex

Enums§

Backend
Cloning a backend is cheap: adapters share their connection pool.
DatabaseConstraintError
Portable constraint categories exposed only when a driver supplies a structured error code.
DinocoValue
FindOrderBy
FindWhere
MigrationColumnType
MigrationDefault
MigrationIndexKind
PostgresMode
QueryMode
Execution strategy for find_batch(...).
ReferentialAction
UpdateOperation

Constants§

DEFAULT_MAX_CONNECTIONS
DEFAULT_MIN_CONNECTIONS
MANUAL_MIGRATIONS_TABLE
Table that records which manual migrations were applied. It is separate from the dinoco_migrations table used by the automatic engine.

Traits§

DinocoAdapter
DinocoEntity
DinocoJson
Reconstructs a row-model struct from a single JSON object.
DinocoMigration
A hand-written migration.
DinocoMigrationObject
Object-safe view of DinocoMigration, implemented automatically.
DinocoMysql
DinocoPostgres
DinocoProjection
DinocoRowModel
DinocoSqlCompiler
DinocoSqlite

Functions§

datetime_from_json
Parses a JSON-aggregated datetime column.
is_decode_error
migrate_down
Reverts the last steps applied migrations, newest first, and returns the names that were reverted.
migrate_up
Applies every pending migration, oldest first, and returns the names that ran. Stops at the first failure without recording it.
migration_status
Lists every registered migration and whether it was applied. Applied migrations that are no longer registered are an error: the history would no longer match the code.
naive_date_from_json
Parses a JSON-aggregated date column ("YYYY-MM-DD", tolerating a timestamp prefix if the column carries more precision than expected).

Type Aliases§

DbErr
The error type returned by manual migrations.
DeadpoolPostgresRow
InsertHook
Receives the inserted rows (field name to value, one JSON object per row), or None when the insert failed.
MysqlRow
RowCountHook
Receives how many rows were affected (update/delete) or returned (find), or None when the operation failed.