pub struct Project {Show 36 fields
pub name: String,
pub root: PathBuf,
pub target_dir: PathBuf,
pub target_source: Source,
pub target_name: String,
pub target_from: TargetSource,
pub default_profile: Option<String>,
pub default_profile_line: Option<usize>,
pub default_set: Option<String>,
pub vars: Map<String, Value>,
pub run_query_max_rows: u64,
pub format_options: BTreeMap<String, Map<String, Value>>,
pub reports: Vec<Report>,
pub sets: BTreeMap<String, SetDef>,
pub plugins: Vec<PluginRequirement>,
pub plugin_uses: Vec<PluginUse>,
pub plugins_incomplete: bool,
pub schedules: Vec<ScheduleEntry>,
pub timings: BTreeMap<String, Timing>,
pub macros: Vec<PathBuf>,
pub packages: Vec<Package>,
pub mask_secrets: bool,
pub timezone: Option<String>,
pub locale: Option<String>,
pub week_start: WeekStart,
pub week_numbering: WeekNumbering,
pub dispatch: DispatchOrder,
pub sql: BTreeMap<String, PathBuf>,
pub lookups: BTreeMap<String, Lookup>,
pub lookup_inline_max_rows: u64,
pub folders: Vec<Vec<String>>,
pub files: Vec<PathBuf>,
pub parse_errors: BTreeMap<String, Vec<Diagnostic>>,
pub inputs: Inputs,
pub sources: BTreeMap<String, SourceDef>,
pub profiles: Profiles,
}Fields§
§name: String§root: PathBuf§target_dir: PathBufThe folder DRE writes its generated files to (compiled SQL, run outputs, schema
snapshots, run_results.json, the manifest): target/ in the root by default.
target_source: SourceWhere the target path was set, for messages.
target_name: StringThe run’s target (environment): --target, DRE_TARGET, else dev; target.name in
templates. Each profile’s entry is crate::profiles::Profiles::target_of.
target_from: TargetSourceWhere target_name came from.
default_profile: Option<String>§default_profile_line: Option<usize>Its line in dre_project.yml, for messages.
default_set: Option<String>§vars: Map<String, Value>§run_query_max_rows: u64§format_options: BTreeMap<String, Map<String, Value>>format_options:: per format, defaults under every output of that format.
reports: Vec<Report>§sets: BTreeMap<String, SetDef>§plugins: Vec<PluginRequirement>The declared plugin packages.
plugin_uses: Vec<PluginUse>Every plugin the project uses, checked against the declared packages once they’re
installed (crate::plugins::check_uses).
plugins_incomplete: boolSome package’s declarations conflict, so it’s missing from plugins.
schedules: Vec<ScheduleEntry>§timings: BTreeMap<String, Timing>Named timings from timings.yml, which schedules use with timing:.
macros: Vec<PathBuf>Macro files under macros/, relative to the root.
packages: Vec<Package>Macro packages, each called through its name ({{ dre_utils.x() }}).
mask_secrets: boolMask DRE_SECRET_* values in logs and records (default true).
timezone: Option<String>The project’s default timezone: (IANA name); runs default to UTC without one.
locale: Option<String>The project’s locale: for the number filters; en without one.
week_start: WeekStartweek_start: and week_numbering:, for the calendar functions.
week_numbering: WeekNumbering§dispatch: DispatchOrderdispatch: search orders, by macro namespace.
sql: BTreeMap<String, PathBuf>Every uniquely named .sql file under reports/, by basename: what ref() resolves.
lookups: BTreeMap<String, Lookup>Lookups under lookups/, which ref() also resolves.
lookup_inline_max_rows: u64A lookup with more rows than this is loaded into a temp table rather than inlined.
folders: Vec<Vec<String>>Every folder under reports/, as path segments.
files: Vec<PathBuf>The project’s own files, relative to the root with forward slashes, sorted: every YAML
file (not a root profiles.yml) and everything under reports/, macros/ and
lookups/.
parse_errors: BTreeMap<String, Vec<Diagnostic>>Templates the load’s parse pass couldn’t render, by report: they make the report invalid in the manifest. Its own run, compile or validate reports them.
inputs: InputsWhat the load’s parse pass rendered with: the target, --var, the run date and timezone.
sources: BTreeMap<String, SourceDef>Declared sources (dbt’s sources:), by name.
profiles: Profiles