dorm.declarative

This whole package is used for the declarative model descriptions. The declarative descriptions are automatically generated from the D source code and are used for the diff process for the migrations generator.

The conversion from D classes/structs + UDAs into the declarative format described in this module is done inside the dorm.declarative.conversion module.

Modules

conversion
module dorm.declarative.conversion

This module converts a package containing D Model definitions to dorm.declarative.SerializedModels

entrypoint
module dorm.declarative.entrypoint
Undocumented in source.

Members

Aliases

InternalAnnotation
alias InternalAnnotation = SumType!(ConstructValueRef, ValidatorRef)
Undocumented in source.

Enums

AnnotationFlag
enum AnnotationFlag

This enum contains all no-argument flags that can be added as annotation to the fields. It's part of the DBAnnotation SumType.

Structs

ConstructValueRef
struct ConstructValueRef

Corresponds to the dorm.annotations.constructValue and dorm.annotations.constructValue UDAs.

DBAnnotation
struct DBAnnotation

SumType combining all the different annotations (UDAs) that can be added to a model field, in a serializable format. (e.g. the lambdas are moved into a helper field in the model description and these annotations only contain an integer to reference it)

ModelFormat
struct ModelFormat

Describes a single Model class (Database Table) in a generic format that is only later used by the drivers to actually convert to SQL statements.

SerializedModels
struct SerializedModels

This is the root of a described models module. It contains a list of models as defined in the D source file.

SourceLocation
struct SourceLocation

The source location where something is defined in D code.

ValidatorRef
struct ValidatorRef

Corresponds to the dorm.annotations.constructValue and dorm.annotations.constructValue UDAs.

Meta