Skip to main content

ElixirEctoBackend

Struct ElixirEctoBackend 

Source
pub struct ElixirEctoBackend { /* private fields */ }

Implementations§

Trait Implementations§

Source§

impl CodegenBackend for ElixirEctoBackend

Source§

fn name(&self) -> &str

The backend’s name (e.g. “rust-sqlx”, “rust-tokio-postgres”).
Source§

fn manifest(&self) -> &BackendManifest

The backend’s manifest (type mappings, naming conventions, etc).
Source§

fn file_header(&self) -> String

Generate a file-level header (imports, docstring, etc). Returns an empty string by default; backends may override.
Generate a file-level footer (closing braces, etc). Returns an empty string by default; backends may override.
Source§

fn generate_row_struct( &self, query_name: &str, columns: &[ResolvedColumn], ) -> Result<String, ScytheError>

Generate a row struct for a query result.
Source§

fn generate_model_struct( &self, table_name: &str, columns: &[ResolvedColumn], ) -> Result<String, ScytheError>

Generate a model struct for a table.
Source§

fn generate_query_fn( &self, analyzed: &AnalyzedQuery, struct_name: &str, columns: &[ResolvedColumn], params: &[ResolvedParam], ) -> Result<String, ScytheError>

Generate a query function.
Source§

fn generate_enum_def(&self, enum_info: &EnumInfo) -> Result<String, ScytheError>

Generate an enum definition.
Source§

fn generate_composite_def( &self, composite: &CompositeInfo, ) -> Result<String, ScytheError>

Generate a composite type definition.
Source§

fn query_class_header(&self) -> String

Generate a class header that wraps query functions only. When non-empty, the assembly will emit all type definitions (enums, row structs, model structs) first, then this class header, then all query functions, then the file footer. Returns an empty string by default (no class wrapper).
Source§

fn generate_rbs_file(&self, _context: &RbsGenerationContext) -> Option<String>

Generate an RBS type signature file for Ruby backends. Returns None by default; Ruby backends override this.
Source§

fn apply_options( &mut self, _options: &HashMap<String, String>, ) -> Result<(), ScytheError>

Apply per-backend configuration options from [[sql.gen]]. Backends override this to handle options like row_type = "pydantic".
Source§

fn supported_engines(&self) -> &[&str]

Database engines this backend supports. Defaults to PostgreSQL only. Multi-DB backends override this.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.