Skip to main content

ProjectFile

Struct ProjectFile 

Source
pub struct ProjectFile {
Show 25 fields pub name: Option<Located<Loose<String>>>, pub meta: Option<Located<Loose<Map<String, Value>>>>, pub default_profile: Option<Located<Loose<String>>>, pub default_output: Option<IgnoredAny>, pub format_options: Option<FormatOptions>, pub default_set: Option<Located<Loose<String>>>, pub vars: Option<Located<Loose<Option<Map<String, Value>>>>>, pub run_query_max_rows: Option<Located<Loose<u64>>>, pub lookup_inline_max_rows: Option<Located<Loose<u64>>>, pub dispatch: Option<DispatchList>, pub mask_secrets: Option<Located<Loose<bool>>>, pub mask_row_values: Option<Located<Loose<bool>>>, pub timezone: Option<Located<Loose<String>>>, pub locale: Option<Located<Loose<String>>>, pub week_start: Option<Located<Loose<WeekStart>>>, pub week_numbering: Option<Located<Loose<WeekNumbering>>>, pub reports: Option<Located<Loose<Folder>>>, pub flags: Option<Located<Loose<Flags>>>, pub target_path: Option<Located<Loose<String>>>, pub plugins: Option<IgnoredAny>, pub sources: Option<IgnoredAny>, pub target: Option<Located<IgnoredAny>>, pub destinations: Option<Located<IgnoredAny>>, pub formats: Option<Located<IgnoredAny>>, pub unknown: UnknownKeys,
}
Expand description

The project file, dre_project.yml, at the project root.

Fields§

§name: Option<Located<Loose<String>>>

The project’s name. Required.

§meta: Option<Located<Loose<Map<String, Value>>>>

Metadata for external tools, preserved as the first report metadata layer.

§default_profile: Option<Located<Loose<String>>>

The connection (in profiles.yml) reports use when nothing else names one. May use Jinja with var(), env_var(), run.* and target.name.

§default_output: Option<IgnoredAny>

The output every report starts from (the built-in default is format: csv). A report’s own output is merged on top.

§format_options: Option<FormatOptions>

Default options per output format, under every output of that format. A report’s own keys win.

§default_set: Option<Located<Loose<String>>>

The Set used when a report has Sets and none is chosen.

§vars: Option<Located<Loose<Option<Map<String, Value>>>>>

The lowest level of var(): folders, reports, Sets, schedules and --var override these.

§run_query_max_rows: Option<Located<Loose<u64>>>

run_query() refuses results larger than this.

§lookup_inline_max_rows: Option<Located<Loose<u64>>>

Lookups over this many rows are loaded into a temp table instead of inlined into the SQL.

§dispatch: Option<DispatchList>

Which macro packages dispatch() searches, and in what order.

§mask_secrets: Option<Located<Loose<bool>>>

Whether DRE_SECRET_* values are masked as ***** in the console, logs, JSON events, run_results.json and target/compiled/.

§mask_row_values: Option<Located<Loose<bool>>>

Whether a per-row output’s destination values rendered from each.* (addresses, paths) are masked in the console, logs, run_results.json and rows.jsonl. A for_each block’s own mask_row_values wins.

§timezone: Option<Located<Loose<String>>>

The timezone run.date and run.now use, an IANA name such as Australia/Sydney. Default: UTC.

§locale: Option<Located<Loose<String>>>

The locale the number filters (number, percent, currency, compact, signed) format for, such as de-DE or fr: decimal and group separators, and where the currency symbol and percent sign go. Default: en.

§week_start: Option<Located<Loose<WeekStart>>>

The first day of the week for run.date week arithmetic.

§week_numbering: Option<Located<Loose<WeekNumbering>>>

How weeks are numbered: ISO 8601 or US style.

§reports: Option<Located<Loose<Folder>>>

Folder config: settings for the report folders, by folder name, nested to match the folders under reports/.

§flags: Option<Located<Loose<Flags>>>

How DRE itself behaves, as in dbt’s flags:. Each flag has a DRE_ environment variable that wins over it.

§target_path: Option<Located<Loose<String>>>

Where DRE writes its generated files (compiled SQL, run outputs, the manifest). Default: target/ in the project. --target-path and DRE_TARGET_PATH override it.

§plugins: Option<IgnoredAny>

The plugin packages this project uses. DRE installs them on demand into dre_deps/ and pins them in dre.lock. May be written in any project YAML file; dependencies.yml is the usual place.

§sources: Option<IgnoredAny>

dbt-style source declarations (see the sources schema). May be written in any project YAML file.

§target: Option<Located<IgnoredAny>>

Removed in DRE 0.2.1; read only to say so.

§destinations: Option<Located<IgnoredAny>>

Where plugins were declared before packages; read only to say so.

§formats: Option<Located<IgnoredAny>>§unknown: UnknownKeys

Trait Implementations§

Source§

impl<'de> Deserialize<'de> for ProjectFile

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl JsonSchema for ProjectFile

Source§

fn schema_name() -> Cow<'static, str>

The name of the generated JSON Schema. Read more
Source§

fn schema_id() -> Cow<'static, str>

Returns a string that uniquely identifies the schema produced by this type. Read more
Source§

fn json_schema(generator: &mut SchemaGenerator) -> Schema

Generates a JSON Schema for this type. Read more
Source§

fn inline_schema() -> bool

Whether JSON Schemas generated for this type should be included directly in parent schemas, rather than being re-used where possible using the $ref keyword. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.