So I am either completely misunderstanding how this is all supposed to work, or there's some sort of issue with the configuration module.

My expected workflow is to set up configuration on the devel server, export them to the datastore, and then to move the config files to production via git. After migrating the config files to production, I then expect to be able to click on the synchronize button and have the configurations migrated in.

This seems to work fine for config items that already exist on the production server, but not for items that are new - for example, a new view written on the devel server that I want to merge into production. I find that after the sync completes, the new views are not synced into the new server, and are in fact removed from the tracked.inc file on the production server.

So --- is this an expected behavior, and if so, how do I actually GET new views moved into the production server?

Comments

shi99’s picture

Not sure if you are still having this issue. But the flow you mention sounds like it should work.

I created new permissions and used the following flow to put the configurations on my live site.

- On Dev I created new permissions and associated the permission to the appropriate roles.
- I went to the Configuration management > Not Tracking page
- I selected the permissions I wanted to track and clicked the "Start Tracking" at the bottom of the page.
- This wrote the new configurations to file.
- I added and commited the changes to git and pushed the changes.
- On the live site I went to Configuration management > Synchronize page and selected "Synchronize configurations" button.
- The new permission configurations where set.

What is odd, is that you mentioned on the live site when you sync, your tracked.inc file is updated and the new settings are removed.
Are you running the Sync from the Configuration management > Synchronize page?