modmore / Gitify

Command line toolkit to make managing a MODX site in git a lot easier.
MIT License
122 stars 55 forks source link

Error "Duplicate key" with ver. 2.0-alpha while build #383

Closed achterbahn closed 3 years ago

achterbahn commented 3 years ago

Summary

Installation 1

gitify build outputs error Duplicate key "content_type" detected at line 124 (near " primary: id")

Installation 2

gitify build outputs error Duplicate key "system_settings" detected at line 105 (near " - editedon")

Both installation use the same .gitify file .gitify file checked for syntax and it's ok.

Step to reproduce

mentioned above

Observed behavior

see above

Expected behavior

Environment

Mark-H commented 3 years ago

Can you show your .gitify file?

achterbahn commented 3 years ago
data_directory: _data/
backup_directory: _backup/
data:
    contexts:
        class: modContext
        primary: key
    context_settings:
        class: modContextSetting
        primary:
            - context_key
            - key
    template_variables:
        class: modTemplateVar
        primary: name
    template_variables_access:
        class: modTemplateVarTemplate
        primary:
            - tmplvarid
            - templateid
    content:
        type: content
        exclude_keys:
            - editedby
            - editedon
        truncate_on_force:
            - modTemplateVarResource
    content_type:
        class: modContentType
        primary: name

# Access Permissions
# einige Tabellen fehlen noch!

    access_permissions:
        class: modAccessPermission
        primary: id
    access_context:
        class: modAccessContext
        primary: id
    categories:
        class: modCategory
        primary: category
        truncate_on_force:
            - modCategoryClosure
    templates:
        class: modTemplate
        primary: templatename
        extension: .html
    chunks:
        class: modChunk
        primary: name
        extension: .html
    snippets:
        class: modSnippet
        primary: name
        extension: .php
    plugins:
        class: modPlugin
        primary: name
        extension: .php
    plugin_events:
        class: modPluginEvent
        primary:
            - pluginid
            - event
    property_sets:
        class: modPropertySet
        primary:
            - id
            - name
    element_property_sets:
        class: modElementPropertySet
        primary: [element,property_set]
    events:
        class: modEvent
        primary: name
    namespaces:
        class: modNamespace
        primary: name
    system_settings:
        class: modSystemSetting
        primary: key
        exclude_keys:
            - editedon
    extension_packages:
        class: modExtensionPackage
        primary: namespace
        exclude_keys:
            - created_at
            - updated_at
    fc_sets:
        class: modFormCustomizationSet
        primary: id
    fc_profiles:
        class: modFormCustomizationProfile
        primary: id
    fc_profile_usergroups:
        class: modFormCustomizationProfileUserGroup
        primary:
            - usergroup
            - profile
    fc_action_dom:
        class: modActionDom
        primary:
            - set
            - name
    mediasources:
        class: modMediaSource
        primary: id
    mediasource_elements:
        class: sources.modMediaSourceElement
        primary:
            - source
            - object_class
            - object
            - context_key
    content_type:
        class: modContentType
        primary: id
    dashboards:
        class: modDashboard
        primary:
            - id
            - name
    dashboard_widgets:
        class: modDashboardWidget
        primary: id
    dashboard_widget_placement:
        class: modDashboardWidgetPlacement
        primary:
            - dashboard
            - widget

    # Content Blocks
#    cb_fields:
#        class: cbField
#        primary: [id, name]
#        package: contentblocks
#    cb_categories:
#        class: cbCategory
#        primary: [id, name]
#    cb_layouts:
#        class: cbLayout
#        primary: [id, name]
#    cb_templates:
#        class: cbTemplate
#        primary: [id, name]
#    cb_defaults:
#        class: cbDefault
#        primary: id

    #Gallery Extra
#    galAlbum:
#        class: galAlbum
#        primary: id
#    galAlbumItem:
#        class: galAlbumItem
#        primary: id
#    galGalleryItems:
#        class: galItem
#        primary: id
#    galTags:
#        class: galTag
#        primary: id

#MoreGallery
    moregallery_image:
        class:                  mgImage
        primary:                [resource, id]
        package:                moregallery
        exclude_keys:
            - editedon
            - mgr_thumb_path
            - file_url
            - file_path
            - view_url
    moregallery_image_tag:
        class:                mgImageTag
        primary:              id
    moregallery_tag:
        class:                mgTag
        primary:              display

packages:
    modx.com:
        service_url: 'https://rest.modx.com/extras/'
        description: 'The official MODX transport provider for 3rd party components.'
        packages:
            - ace
            - emo
            - pdotools
            - translit
            - cookieconsent
            - formit
            - babel
            - tinymcerte-1.3.3-pl
            - crosscontextssettings
            - pthumb
    modmore.com:
        service_url: 'https://rest.modmore.com/'
        description: 'Modmore'
        username: yyyyyyy
        api_key: xxxxxx
        packages:
            - moregallery
hugopeek commented 3 years ago

@achterbahn You referenced content_type a second time with primary ID (between media sources and dashboards).

achterbahn commented 3 years ago

@hugopeek ouch.... thank you for helping me out...

Mark-H commented 3 years ago

I guess the new version of the yaml parser is stricter than the old one ;)