コード例 #1
0
class ThirdPartyLicense(Schema):

    __table_name__ = 'third_party_license'

    __order__ = (
        'id',
        'used',
        'show',
        'third_party_name',
        'third_party_url',
        'third_party_version',
        'license_name',
        'license_url',
        'license_text',
        'license_note',
    )

    id = Field(Integer, primary_key=True, on_json=False)
    third_party_name = Field(String)
    used = Field(Boolean)
    show = Field(Boolean)
    third_party_url = Field(Url)
    third_party_version = Field(String)
    license_name = Field(String)
    license_url = Field(Url)
    license_text = Field(String)
    license_note = Field(String)
コード例 #2
0
class Category(Schema):

    __table_name__ = 'categories'

    __order__ = (
        'id',
        'name',
        'description',
    )

    id = Field(Integer, primary_key=True)
    name = Field(String)
    description = Field(String)
コード例 #3
0
ファイル: CampToCamp.py プロジェクト: jalouvre/jalouvre
class C2cMapAssociations(Schema):

    __table_name__ = 'c2c_map_associations'

    __order__ = (
        'document_id',
        'topo_map_id',
    )

    document_id = Field(Integer, nullable=False, primary_key=True)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.documents.document_id']

    topo_map_id = Field(Integer, nullable=False, primary_key=True)
コード例 #4
0
ファイル: CampToCamp.py プロジェクト: jalouvre/jalouvre
class C2cAreaAssociations(Schema):

    __table_name__ = 'c2c_area_associations'

    __order__ = (
        'area_id',
        'document_id',
    )

    area_id = Field(Integer, nullable=False, primary_key=True)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.areas.document_id']

    document_id = Field(Integer, nullable=False, primary_key=True)
コード例 #5
0
ファイル: CampToCamp.py プロジェクト: jalouvre/jalouvre
class C2cAreas(Schema):

    __table_name__ = 'c2c_areas'

    __order__ = (
        'document_id',
        'area_type',
    )

    document_id = Field(Integer, nullable=False, primary_key=True)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.documents.document_id']

    area_type = Field(String)
コード例 #6
0
ファイル: CampToCamp.py プロジェクト: jalouvre/jalouvre
class C2cDocumentsTopics(Schema):

    __table_name__ = 'c2c_documents_topics'

    __order__ = (
        'document_locale_id',
        'topic_id',
    )

    document_locale_id = Field(Integer, nullable=False, primary_key=True)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.documents_locales.id']

    topic_id = Field(Integer, nullable=False)
コード例 #7
0
class Comment(Schema):

    __table_name__ = 'comments'

    __order__ = (
        'id',
        'text',
        'date',
        'blog_id',
    )

    id = Field(Integer, primary_key=True)
    text = Field(String)
    date = Field(DateTime)
    blog_id = Field(Integer, ForeignKey('blogs.id'))
コード例 #8
0
class Directory(Schema):

    __table_name__ = 'directory'

    __order__ = (
        'id',
        'name',
        'parent',
    )

    id = Field(Integer, primary_key=True)
    name = Field(String)
    parent = Field(Integer, ForeignKey('directory.id'))

    keys = RelationShip('Key', order_by='Key.name', back_populates='directory')
コード例 #9
0
ファイル: CampToCamp.py プロジェクト: jalouvre/jalouvre
class C2cBooks(Schema):

    __table_name__ = 'c2c_books'

    __order__ = (
        'document_id',
        'activities',
        'author',
        'book_types',
        'editor',
        'isbn',
        'langs',
        'nb_pages',
        'publication_date',
        'url',
    )

    document_id = Field(Integer, nullable=False, primary_key=True)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.documents.document_id']

    activities = Field(StringList)
    # ArrayOfEnum -> None
    # ['skitouring', 'snow_ice_mixed', 'mountain_climbing', 'rock_climbing', 'ice_climbing', 'hiking', 'snowshoeing', 'paragliding', 'mountain_biking', 'via_ferrata', 'slacklining']

    author = Field(String)
    # String -> VARCHAR(100)

    book_types = Field(StringList)
    # ArrayOfEnum -> None
    # ['topo', 'environment', 'historical', 'biography', 'photos-art', 'novel', 'technics', 'tourism', 'magazine']

    editor = Field(String)
    # String -> VARCHAR(100)

    isbn = Field(String)
    # String -> VARCHAR(17)

    langs = Field(StringList)
    # ARRAY -> VARCHAR(2)[]

    nb_pages = Field(Integer)
    # SmallInteger -> SMALLINT

    publication_date = Field(String)
    # String -> VARCHAR(100)

    url = Field(String)
コード例 #10
0
ファイル: CampToCamp.py プロジェクト: jalouvre/jalouvre
class C2cOutingsLocales(Schema):

    __table_name__ = 'c2c_outings_locales'

    __order__ = (
        'id',
        'access_comment',
        'avalanches',
        'conditions',
        'conditions_levels',
        'hut_comment',
        'participants',
        'route_description',
        'timing',
        'weather',
    )

    id = Field(Integer, nullable=False, primary_key=True)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.documents_locales.id']

    access_comment = Field(String)
    # String -> VARCHAR

    avalanches = Field(String)
    # String -> VARCHAR

    conditions = Field(String)
    # String -> VARCHAR

    conditions_levels = Field(String)
    # String -> VARCHAR

    hut_comment = Field(String)
    # String -> VARCHAR

    participants = Field(String)
    # String -> VARCHAR

    route_description = Field(String)
    # String -> VARCHAR

    timing = Field(String)
    # String -> VARCHAR

    weather = Field(String)
コード例 #11
0
class Key(Schema):

    __table_name__ = 'key'

    __order__ = (
        'id',
        'name',
        'directory_id',
        'value',
    )

    id = Field(Integer, primary_key=True)
    name = Field(String)  # pk ???
    directory_id = Field(Integer, ForeignKey('directory.id'))
    value = Field(Variant)

    directory = RelationShip('Directory', back_populates='keys')
コード例 #12
0
class BleauPlace(Schema):

    __table_name__ = 'place'

    __order__ = (
        'id',
        'coordinate',
        'name',
        'category',
        'note',
    )

    id = Field(Integer, primary_key=True, on_json=False)
    coordinate = Field(JsonGeoCoordinate)
    name = Field(String)
    category = Field(String)  # BleauPlaceCategory = QString
    note = Field(String)
コード例 #13
0
ファイル: CampToCamp.py プロジェクト: jalouvre/jalouvre
class C2cWaypointsLocales(Schema):

    __table_name__ = 'c2c_waypoints_locales'

    __order__ = (
        'id',
        'access',
        'access_period',
    )

    id = Field(Integer, nullable=False, primary_key=True)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.documents_locales.id']

    access = Field(String)
    # String -> VARCHAR

    access_period = Field(String)
コード例 #14
0
class Blog(Schema):

    __table_name__ = 'blogs'

    __order__ = (
        'id',
        'text',
        'date',
        'author_id',
    )

    id = Field(Integer, primary_key=True)
    text = Field(String)
    date = Field(DateTime)
    author_id = Field(Integer, ForeignKey('authors.id'))

    author = RelationShip('Author',
                          back_populates='blogs')  # many-to-one RelationShip
コード例 #15
0
class Author(Schema):

    __table_name__ = 'authors'

    __order__ = (  # Fixme: without => rowid is not @0
        'id',
        'name',
        'birthdate',
        # 'sex',
    )

    id = Field(Integer, primary_key=True)
    # id = Field(String, primary_key=True)
    name = Field(String)
    birthdate = Field(DateTime)
    # sex = Field(Enum(Sex))

    blogs = RelationShip('Blog', order_by='Blog.id',
                         back_populates='author')  # one-to-many RelationShip
コード例 #16
0
ファイル: CampToCamp.py プロジェクト: jalouvre/jalouvre
class C2cUserProfiles(Schema):

    __table_name__ = 'c2c_user_profiles'

    __order__ = (
        'document_id',
        'activities',
        'categories',
    )

    document_id = Field(Integer, nullable=False, primary_key=True)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.documents.document_id']

    activities = Field(StringList)
    # ArrayOfEnum -> None
    # ['skitouring', 'snow_ice_mixed', 'mountain_climbing', 'rock_climbing', 'ice_climbing', 'hiking', 'snowshoeing', 'paragliding', 'mountain_biking', 'via_ferrata', 'slacklining']

    categories = Field(StringList)
コード例 #17
0
ファイル: CampToCamp.py プロジェクト: jalouvre/jalouvre
class C2cDocuments(Schema):

    __table_name__ = 'c2c_documents'

    __order__ = (
        'document_id',
        'protected_flag',
        'quality',
        'redirects_to',
        'type',
        'version',
    )

    document_id = Field(Integer, nullable=False, primary_key=True)
    # Integer -> INTEGER

    protected_flag = Field(Boolean,
                           nullable=False,
                           json_name='protected',
                           sql_name='protected')
    # Boolean -> BOOLEAN

    quality = Field(String, nullable=False)
    # Enum -> VARCHAR(6)
    # ['empty', 'draft', 'medium', 'fine', 'great']

    redirects_to = Field(Integer)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.documents.document_id']

    type = Field(Char)
    # String -> VARCHAR(1)

    version = Field(Integer, nullable=False)
コード例 #18
0
ファイル: CampToCamp.py プロジェクト: jalouvre/jalouvre
class C2cDocumentsGeometries(Schema):

    __table_name__ = 'c2c_documents_geometries'

    __order__ = (
        'document_id',
        'geom',
        'geom_detail',
        'version',
    )

    document_id = Field(Integer, nullable=False, primary_key=True)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.documents.document_id']

    geom = Field(String)
    # Geometry -> geometry(POINT,3857)

    geom_detail = Field(String)
    # Geometry -> geometry(GEOMETRY,3857)

    version = Field(Integer, nullable=False)
コード例 #19
0
ファイル: CampToCamp.py プロジェクト: jalouvre/jalouvre
class C2cMaps(Schema):

    __table_name__ = 'c2c_maps'

    __order__ = (
        'document_id',
        'code',
        'editor',
        'scale',
    )

    document_id = Field(Integer, nullable=False, primary_key=True)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.documents.document_id']

    code = Field(String)
    # String -> VARCHAR

    editor = Field(String)
    # Enum -> VARCHAR(13)
    # ['IGN', 'Swisstopo', 'Escursionista']

    scale = Field(String)
コード例 #20
0
ファイル: CampToCamp.py プロジェクト: jalouvre/jalouvre
class C2cAssociations(Schema):

    __table_name__ = 'c2c_associations'

    __order__ = (
        'child_document_id',
        'parent_document_id',
        'child_document_type',
        'parent_document_type',
    )

    child_document_id = Field(Integer, nullable=False, primary_key=True)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.documents.document_id']

    parent_document_id = Field(Integer, nullable=False, primary_key=True)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.documents.document_id']

    child_document_type = Field(Char, nullable=False)
    # String -> VARCHAR(1)

    parent_document_type = Field(Char, nullable=False)
コード例 #21
0
ファイル: CampToCamp.py プロジェクト: jalouvre/jalouvre
class C2cRoutesLocales(Schema):

    __table_name__ = 'c2c_routes_locales'

    __order__ = (
        'id',
        'external_resources',
        'gear',
        'remarks',
        'route_history',
        'slackline_anchor1',
        'slackline_anchor2',
        'slope',
        'title_prefix',
    )

    id = Field(Integer, nullable=False, primary_key=True)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.documents_locales.id']

    external_resources = Field(String)
    # String -> VARCHAR

    gear = Field(String)
    # String -> VARCHAR

    remarks = Field(String)
    # String -> VARCHAR

    route_history = Field(String)
    # String -> VARCHAR

    slackline_anchor1 = Field(String)
    # String -> VARCHAR

    slackline_anchor2 = Field(String)
    # String -> VARCHAR

    slope = Field(String)
    # String -> VARCHAR

    title_prefix = Field(String)
コード例 #22
0
ファイル: CampToCamp.py プロジェクト: jalouvre/jalouvre
class C2cDocumentsLocales(Schema):

    __table_name__ = 'c2c_documents_locales'

    __order__ = (
        'id',
        'description',
        'document_id',
        'lang',
        'summary',
        'title',
        'type',
        'version',
    )

    id = Field(Integer, nullable=False, primary_key=True)
    # Integer -> INTEGER

    description = Field(String)
    # String -> VARCHAR

    document_id = Field(Integer, nullable=False)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.documents.document_id']

    lang = Field(String, nullable=False)
    # String -> VARCHAR(2)
    # Foreign Keys: ['guidebook.langs.lang']

    summary = Field(String)
    # String -> VARCHAR

    title = Field(String, nullable=False)
    # String -> VARCHAR(150)

    type = Field(Char)
    # String -> VARCHAR(1)

    version = Field(Integer, nullable=False)
コード例 #23
0
class Document(Schema):

    __table_name__ = 'document'

    __order__ = (
        'id',
        'name',
        'author',
        'version',
        'date',
        'description',
        'url',
        'size',
    )

    id = Field(Integer, primary_key=True)
    name= Field(String)
    author= Field(String)
    version = Field(Integer)
    date = Field(UnixDateTime)
    description= Field(String)
    url = Field(Url)
    size = Field(Integer)
コード例 #24
0
ファイル: CampToCamp.py プロジェクト: jalouvre/jalouvre
class C2cDocumentsVersions(Schema):

    __table_name__ = 'c2c_documents_versions'

    __order__ = (
        'id',
        'document_archive_id',
        'document_geometry_archive_id',
        'document_id',
        'document_locales_archive_id',
        'history_metadata_id',
        'lang',
    )

    id = Field(Integer, nullable=False, primary_key=True)
    # Integer -> INTEGER

    document_archive_id = Field(Integer, nullable=False)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.documents_archives.id']

    document_geometry_archive_id = Field(Integer)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.documents_geometries_archives.id']

    document_id = Field(Integer, nullable=False)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.documents.document_id']

    document_locales_archive_id = Field(Integer, nullable=False)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.documents_locales_archives.id']

    history_metadata_id = Field(Integer, nullable=False)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.history_metadata.id']

    lang = Field(String, nullable=False)
コード例 #25
0
class BleauBoulder(Schema):

    __table_name__ = 'boulder'

    __order__ = (
        'id',
        'coordinate',
        'name',
        'comment',
        'grade',
        'number',
        'circuit_id',
    )

    id = Field(Integer, primary_key=True, on_json=False)
    coordinate = Field(JsonGeoCoordinate)
    name = Field(String)
    comment = Field(String)
    grade = Field(String)  # BleauGrade
    number = Field(String)  # BleauWayNumber

    circuit_id = Field(Integer, ForeignKey('circuit.id'), on_json=False)
    circuit = RelationShip('BleauCircuit', back_populates='boulders')
コード例 #26
0
class BleauMassif(Schema):

    __table_name__ = 'massif'

    __order__ = (
        'id',
        'coordinate',
        'name',
        'access',
        'alternative_name',
        'chaos_type',
        'note',
        'parcelles',
        'rdv',
        'secteur',
        'velo',
    )

    id = Field(Integer, primary_key=True, on_json=False)
    coordinate = Field(JsonGeoCoordinate)
    name = Field(String)  # unique=True
    access = Field(String)
    alternative_name = Field(String)
    chaos_type = Field(String)  # BleauChaosType
    note = Field(String)
    parcelles = Field(String)
    rdv = Field(String)
    secteur = Field(String)
    velo = Field(String)

    circuits = RelationShip('BleauCircuit', back_populates='massif')
コード例 #27
0
ファイル: CampToCamp.py プロジェクト: jalouvre/jalouvre
class C2cUser(Schema):

    __table_name__ = 'c2c_user'

    __order__ = (
        'id',
        'blocked',
        'email',
        'email_to_validate',
        'email_validated',
        'feed_filter_activities',
        'feed_followed_only',
        'forum_username',
        'is_profile_public',
        'lang',
        'last_modified',
        'moderator',
        'name',
        'password',
        'username',
        'validation_nonce',
        'validation_nonce_expire',
    )

    id = Field(Integer, nullable=False, primary_key=True)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.user_profiles.document_id']

    blocked = Field(Boolean, nullable=False)
    # Boolean -> BOOLEAN

    email = Field(String, nullable=False)
    # String -> VARCHAR(200)

    email_to_validate = Field(String)
    # String -> VARCHAR(200)

    email_validated = Field(Boolean, nullable=False)
    # Boolean -> BOOLEAN

    feed_filter_activities = Field(StringList, nullable=False)
    # ArrayOfEnum -> None
    # ['skitouring', 'snow_ice_mixed', 'mountain_climbing', 'rock_climbing', 'ice_climbing', 'hiking', 'snowshoeing', 'paragliding', 'mountain_biking', 'via_ferrata', 'slacklining']

    feed_followed_only = Field(Boolean, nullable=False)
    # Boolean -> BOOLEAN

    forum_username = Field(String, nullable=False)
    # String -> VARCHAR(25)

    is_profile_public = Field(Boolean, nullable=False)
    # Boolean -> BOOLEAN

    lang = Field(String, nullable=False)
    # String -> VARCHAR(2)
    # Foreign Keys: ['guidebook.langs.lang']

    last_modified = Field(DateTime, nullable=False)
    # DateTime -> DATETIME

    moderator = Field(Boolean, nullable=False)
    # Boolean -> BOOLEAN

    name = Field(String, nullable=False)
    # String -> VARCHAR(200)

    password = Field(String, nullable=False)
    # String -> VARCHAR(255)

    username = Field(String, nullable=False)
    # String -> VARCHAR(200)

    validation_nonce = Field(String)
    # String -> VARCHAR(200)

    validation_nonce_expire = Field(DateTime)
コード例 #28
0
class Refuge(Schema):

    __table_name__ = 'refuge'

    __order__ = (
        'id',
        'name',
        'short_name',
        'altitude',
        'description',
        'owner',
        'guardian',
        'picture_path',
        'coordinate',
        'number_of_places',
        'region',
        'url',
        'phone',
    )

    id = Field(Integer, primary_key=True)
    name = Field(String)
    short_name = Field(String)
    altitude = Field(Integer)
    description = Field(String)
    owner = Field(String)
    guardian = Field(String)
    picture_path = Field(String)
    coordinate = Field(JsonGeoCoordinate)
    number_of_places = Field(String)
    region = Field(String)
    url = Field(String)
    phone = Field(String)

    first_letter = ComputedField(Char)

    __has_post_init__ = True

    __custom_code__ = {
        # Fixme: Mixin ???
        'cls_decl':
        CustomCode("""
public:
  bool operator<(const {{schema.cls_name}} & other) const;

  QChar first_letter() const { return m_first_letter; }

private slots:
  void set_first_letter();

private:
  QChar m_first_letter;
"""),
    }
コード例 #29
0
class BleauCircuit(Schema):

    __table_name__ = 'circuit'

    __order__ = (
        'id',
        'coordinate',
        'colour',
        'creation_date',
        'gestion',
        'grade',
        'massif_id',
        'note',
        'number',
        'opener',
        'refection_date',
        'refection_note',
        'status',
        'topos',
    )

    id = Field(Integer, primary_key=True, on_json=False)
    coordinate = Field(JsonGeoCoordinate)
    colour = Field(String)
    creation_date = Field(Integer)  # UnsignedInteger
    gestion = Field(String)
    grade = Field(String)  # BleauAlpineGrade
    massif_id = Field(
        Integer, ForeignKey('massif.id'),
        on_json=False)  # Fixme: JSON massif/string vs massif_id/int
    note = Field(String)
    number = Field(Integer)  # UnsignedInteger
    opener = Field(String)  # BleauOpeners
    refection_date = Field(Integer)  # UnsignedInteger
    refection_note = Field(String)  # BleauRefectionNote
    status = Field(String)
    topos = Field(StringList)

    massif = RelationShip(BleauMassif, back_populates='circuits')
    boulders = RelationShip(BleauBoulder, back_populates='circuit')
コード例 #30
0
ファイル: CampToCamp.py プロジェクト: jalouvre/jalouvre
class C2cRoutes(Schema):

    __table_name__ = 'c2c_routes'

    __order__ = (
        'document_id',
        'activities',
        'aid_rating',
        'climbing_outdoor_type',
        'configuration',
        'difficulties_height',
        'durations',
        'elevation_max',
        'elevation_min',
        'engagement_rating',
        'equipment_rating',
        'exposition_rock_rating',
        'glacier_gear',
        'global_rating',
        'height_diff_access',
        'height_diff_difficulties',
        'height_diff_down',
        'height_diff_up',
        'hiking_mtb_exposition',
        'hiking_rating',
        'ice_rating',
        'labande_global_rating',
        'labande_ski_rating',
        'lift_access',
        'main_waypoint_id',
        'mixed_rating',
        'mtb_down_rating',
        'mtb_height_diff_portages',
        'mtb_length_asphalt',
        'mtb_length_trail',
        'mtb_up_rating',
        'orientations',
        'risk_rating',
        'rock_free_rating',
        'rock_required_rating',
        'rock_types',
        'route_length',
        'route_types',
        'ski_exposition',
        'ski_rating',
        'slackline_height',
        'slackline_type',
        'snowshoe_rating',
        'via_ferrata_rating',
    )

    document_id = Field(Integer, nullable=False, primary_key=True)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.documents.document_id']

    activities = Field(StringList, nullable=False)
    # ArrayOfEnum -> None
    # ['skitouring', 'snow_ice_mixed', 'mountain_climbing', 'rock_climbing', 'ice_climbing', 'hiking', 'snowshoeing', 'paragliding', 'mountain_biking', 'via_ferrata', 'slacklining']

    aid_rating = Field(String)
    # Enum -> VARCHAR(3)
    # ['A0', 'A0+', 'A1', 'A1+', 'A2', 'A2+', 'A3', 'A3+', 'A4', 'A4+', 'A5', 'A5+']

    climbing_outdoor_type = Field(String)
    # Enum -> VARCHAR(9)
    # ['single', 'multi', 'bloc', 'psicobloc']

    configuration = Field(StringList)
    # ArrayOfEnum -> None
    # ['edge', 'pillar', 'face', 'corridor', 'goulotte', 'glacier']

    difficulties_height = Field(Integer)
    # SmallInteger -> SMALLINT

    durations = Field(StringList)
    # ArrayOfEnum -> None
    # ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '10+']

    elevation_max = Field(Integer)
    # SmallInteger -> SMALLINT

    elevation_min = Field(Integer)
    # SmallInteger -> SMALLINT

    engagement_rating = Field(String)
    # Enum -> VARCHAR(3)
    # ['I', 'II', 'III', 'IV', 'V', 'VI']

    equipment_rating = Field(String)
    # Enum -> VARCHAR(3)
    # ['P1', 'P1+', 'P2', 'P2+', 'P3', 'P3+', 'P4', 'P4+']

    exposition_rock_rating = Field(String)
    # Enum -> VARCHAR(2)
    # ['E1', 'E2', 'E3', 'E4', 'E5', 'E6']

    glacier_gear = Field(String, nullable=False)
    # Enum -> VARCHAR(19)
    # ['no', 'glacier_safety_gear', 'crampons_spring', 'crampons_req', 'glacier_crampons']

    global_rating = Field(String)
    # Enum -> VARCHAR(3)
    # ['F', 'F+', 'PD-', 'PD', 'PD+', 'AD-', 'AD', 'AD+', 'D-', 'D', 'D+', 'TD-', 'TD', 'TD+', 'ED-', 'ED', 'ED+', 'ED4', 'ED5', 'ED6', 'ED7']

    height_diff_access = Field(Integer)
    # SmallInteger -> SMALLINT

    height_diff_difficulties = Field(Integer)
    # SmallInteger -> SMALLINT

    height_diff_down = Field(Integer)
    # SmallInteger -> SMALLINT

    height_diff_up = Field(Integer)
    # SmallInteger -> SMALLINT

    hiking_mtb_exposition = Field(String)
    # Enum -> VARCHAR(2)
    # ['E1', 'E2', 'E3', 'E4']

    hiking_rating = Field(String)
    # Enum -> VARCHAR(2)
    # ['T1', 'T2', 'T3', 'T4', 'T5']

    ice_rating = Field(String)
    # Enum -> VARCHAR(2)
    # ['1', '2', '3', '3+', '4', '4+', '5', '5+', '6', '6+', '7', '7+']

    labande_global_rating = Field(String)
    # Enum -> VARCHAR(3)
    # ['F', 'F+', 'PD-', 'PD', 'PD+', 'AD-', 'AD', 'AD+', 'D-', 'D', 'D+', 'TD-', 'TD', 'TD+', 'ED-', 'ED', 'ED+', 'ED4', 'ED5', 'ED6', 'ED7']

    labande_ski_rating = Field(String)
    # Enum -> VARCHAR(2)
    # ['S1', 'S2', 'S3', 'S4', 'S5', 'S6', 'S7']

    lift_access = Field(Boolean)
    # Boolean -> BOOLEAN

    main_waypoint_id = Field(Integer)
    # Integer -> INTEGER
    # Foreign Keys: ['guidebook.documents.document_id']

    mixed_rating = Field(String)
    # Enum -> VARCHAR(4)
    # ['M1', 'M2', 'M3', 'M3+', 'M4', 'M4+', 'M5', 'M5+', 'M6', 'M6+', 'M7', 'M7+', 'M8', 'M8+', 'M9', 'M9+', 'M10', 'M10+', 'M11', 'M11+', 'M12', 'M12+']

    mtb_down_rating = Field(String)
    # Enum -> VARCHAR(2)
    # ['V1', 'V2', 'V3', 'V4', 'V5']

    mtb_height_diff_portages = Field(Integer)
    # Integer -> INTEGER

    mtb_length_asphalt = Field(Integer)
    # Integer -> INTEGER

    mtb_length_trail = Field(Integer)
    # Integer -> INTEGER

    mtb_up_rating = Field(String)
    # Enum -> VARCHAR(2)
    # ['M1', 'M2', 'M3', 'M4', 'M5']

    orientations = Field(StringList)
    # ArrayOfEnum -> None
    # ['N', 'NE', 'E', 'SE', 'S', 'SW', 'W', 'NW']

    risk_rating = Field(String)
    # Enum -> VARCHAR(2)
    # ['X1', 'X2', 'X3', 'X4', 'X5']

    rock_free_rating = Field(String)
    # Enum -> VARCHAR(3)
    # ['2', '3a', '3b', '3c', '4a', '4b', '4c', '5a', '5a+', '5b', '5b+', '5c', '5c+', '6a', '6a+', '6b', '6b+', '6c', '6c+', '7a', '7a+', '7b', '7b+', '7c', '7c+', '8a', '8a+', '8b', '8b+', '8c', '8c+', '9a', '9a+', '9b', '9b+', '9c', '9c+']

    rock_required_rating = Field(String)
    # Enum -> VARCHAR(3)
    # ['2', '3a', '3b', '3c', '4a', '4b', '4c', '5a', '5a+', '5b', '5b+', '5c', '5c+', '6a', '6a+', '6b', '6b+', '6c', '6c+', '7a', '7a+', '7b', '7b+', '7c', '7c+', '8a', '8a+', '8b', '8b+', '8c', '8c+', '9a', '9a+', '9b', '9b+', '9c', '9c+']

    rock_types = Field(StringList)
    # ArrayOfEnum -> None
    # ['basalte', 'calcaire', 'conglomerat', 'craie', 'gneiss', 'gres', 'granit', 'migmatite', 'mollasse_calcaire', 'pouding', 'quartzite', 'rhyolite', 'schiste', 'trachyte', 'artificial']

    route_length = Field(Integer)
    # Integer -> INTEGER

    route_types = Field(StringList)
    # ArrayOfEnum -> None
    # ['return_same_way', 'loop', 'loop_hut', 'traverse', 'raid', 'expedition']

    ski_exposition = Field(String)
    # Enum -> VARCHAR(2)
    # ['E1', 'E2', 'E3', 'E4']

    ski_rating = Field(String)
    # Enum -> VARCHAR(3)
    # ['1.1', '1.2', '1.3', '2.1', '2.2', '2.3', '3.1', '3.2', '3.3', '4.1', '4.2', '4.3', '5.1', '5.2', '5.3', '5.4', '5.5', '5.6']

    slackline_height = Field(Integer)
    # SmallInteger -> SMALLINT

    slackline_type = Field(String)
    # Enum -> VARCHAR(9)
    # ['slackline', 'highline', 'waterline']

    snowshoe_rating = Field(String)
    # Enum -> VARCHAR(2)
    # ['R1', 'R2', 'R3', 'R4', 'R5']

    via_ferrata_rating = Field(String)