1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
//! # surql
//!
//! Code-first database toolkit for SurrealDB in Rust.
//!
//! Rust port of [`oneiriq-surql`](https://github.com/Oneiriq/surql-py) (Python) and
//! [`@oneiriq/surql`](https://github.com/Oneiriq/surql) (TypeScript).
//! Target: 1:1 feature parity.
//!
//! ## Modules
//!
//! - [`error`]: [`SurqlError`] and [`Result`].
//! - [`types`]: Type-safe wrappers ([`RecordID`](types::RecordID),
//! [`RecordRef`](types::RecordRef), [`SurrealFn`](types::SurrealFn),
//! operators, reserved-word checks, datetime coercion).
//! - [`connection`]: Connection [`ConnectionConfig`](connection::ConnectionConfig)
//! and credential types ([`RootCredentials`](connection::RootCredentials),
//! [`NamespaceCredentials`](connection::NamespaceCredentials),
//! [`DatabaseCredentials`](connection::DatabaseCredentials),
//! [`ScopeCredentials`](connection::ScopeCredentials)).
//! - [`schema`]: Schema definition layer —
//! [`FieldDefinition`](schema::FieldDefinition),
//! [`TableDefinition`](schema::TableDefinition),
//! [`EdgeDefinition`](schema::EdgeDefinition), and
//! [`AccessDefinition`](schema::AccessDefinition).
//! - [`migration`]: Migration data model ([`Migration`](migration::Migration),
//! [`MigrationHistory`](migration::MigrationHistory),
//! [`MigrationPlan`](migration::MigrationPlan),
//! [`MigrationState`](migration::MigrationState),
//! [`MigrationDirection`](migration::MigrationDirection),
//! [`SchemaDiff`](migration::SchemaDiff)) and filesystem-level discovery
//! ([`discover_migrations`](migration::discover_migrations),
//! [`load_migration`](migration::load_migration)).
//!
//! - [`orchestration`] *(feature-gated: `orchestration`)*: Multi-database
//! migration orchestration — [`EnvironmentConfig`](orchestration::EnvironmentConfig),
//! [`EnvironmentRegistry`](orchestration::EnvironmentRegistry),
//! [`MigrationCoordinator`](orchestration::MigrationCoordinator),
//! [`HealthCheck`](orchestration::HealthCheck), and deployment
//! strategies ([`SequentialStrategy`](orchestration::SequentialStrategy),
//! [`ParallelStrategy`](orchestration::ParallelStrategy),
//! [`RollingStrategy`](orchestration::RollingStrategy),
//! [`CanaryStrategy`](orchestration::CanaryStrategy)).
pub use ;
pub use DatabaseClient;
// Convenience re-exports for the query-UX surface (sub-feature 1: first-class
// `type::record` / `type::thing` helpers).
pub use ;
// Result-extraction helpers hoisted into the crate root for ergonomic
// `use surql::{extract_one, extract_scalar, extract_many, has_result};` usage
// (sub-feature 3).
pub use ;