Builder

Struct Builder 

Source
pub struct Builder { /* private fields */ }
Expand description

Builder for configuring migration and seed discovery at compile time.

This builder allows you to customize the directories where migrations and seeds are located. By default, it looks for migrations in migrations/ and seeds in src/seeds/.

§Example in build.rs

// Use defaults (migrations/ and src/seeds/)
// If either directory doesn't exist, it will be skipped automatically
ic_sql_migrate::Builder::new().build().unwrap();

// Custom directories
ic_sql_migrate::Builder::new()
    .with_migrations_dir("db/migrations")
    .with_seeds_dir("src/db/seeds")
    .build()
    .unwrap();

Implementations§

Source§

impl Builder

Source

pub fn new() -> Self

Creates a new builder with default settings.

Defaults:

  • Migrations directory: migrations/
  • Seeds directory: src/seeds/
Source

pub fn with_migrations_dir(self, dir: impl Into<String>) -> Self

Sets the directory where migration SQL files are located.

§Arguments
  • dir - Path relative to Cargo.toml
Source

pub fn with_seeds_dir(self, dir: impl Into<String>) -> Self

Sets the directory where seed Rust files are located.

§Arguments
  • dir - Path relative to Cargo.toml
Source

pub fn build(self) -> Result<()>

Executes the builder, discovering and generating code for migrations and seeds.

This method automatically handles missing directories by generating empty arrays. You don’t need to specify whether directories exist or not.

§Errors

Returns an I/O error if file system operations fail or required environment variables are not set.

Trait Implementations§

Source§

impl Default for Builder

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

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.