<p>I am trying to troubleshoot a problem with Project Config updates not fully working when applied to my production site.</p>
<p>I am running a simple Git workflow: local Dev site -&gt; git -&gt; live Production site</p>
<p>My deployment process on the production site is to run these commands:</p>
<pre><code>php craft clear-caches/all
git pull https://github.com/username/site.git
composer install --no-interaction
php craft up --interactive=0
php craft clear-caches/all
</code></pre>
<p>and finally opening an opcache_reset() page in my browser: <a href="https://site.url/opcache_reset.php" rel="nofollow noreferrer">https://site.url/opcache_reset.php</a></p>
<p>Some of my changes do appear in production: I can add UI elements to field layouts, like Horizonal Rule.</p>
<p>But important changes do not show up: I can't get a new field to appear. I can't create a new field group.</p>
<p>If I search for the new fields in the production site's Project Config pages, I see them, but they do not appear as fields in the actual entries.</p>
<p>I've tried clearing caches multiple ways, running 'php craft project-config/apply --force', and rebuilding the entire Project Config. Triple checked my .env and config settings. Nothing has worked and I'm out of ideas. Hoping someone has more suggestions for what I can try next. Thanks.</p>

CC BY-SA 4.0
2024-07-03T21:06:56.197Z
Do you have any deployment logs? What happens under the hood when the deployment script runs `php craft up` – do the changes appear to be applied as expected, is there an error, or does Craft simply not pick up on the changes from the YAML file?
Mats Mikkel Rummelhoff
CC BY-SA 4.0
2024-07-03T21:08:22.680Z
Also, if this _is_ OPcache related, ideally you'll want to clear it *before* `craft up`, not after. Typically this can be done by reloading the php-fpm service.
Mats Mikkel Rummelhoff
CC BY-SA 4.0
2024-07-03T21:20:49.537Z
I just see craft's usual web.log files and I don't see any thing deployment related. Does craft make deployment logs somewhere else? 

I'll move my Opcache step to the initial cache clear, thanks for the tip.
Jack
CC BY-SA 4.0
2024-07-03T21:22:34.473Z
No, Craft knows nothing about your deployment routine; I was thinking more about logs generated in/from the environment or service you're using to deploy. But in terms of Craft logs; you might want to look at the console logs specifically, could be a clue in there.
Mats Mikkel Rummelhoff
CC BY-SA 4.0
2024-07-04T08:11:48.823Z
This is just a guess, but perhaps you have a race condition? Are you certain that the pull has finished by the time `craft up` starts? I use a similar deployment strategy, but mine is split into two - First I do the `pull` via the `post-update` Git hook inside the bare repo, then I do the rest via a `post-merge` hook in the actual working copy. It's been like 10 years since I set it up so I can't really remember why I'm doing it that way, but it works!
James Smith
CC BY-SA 4.0
2024-07-04T22:28:49.237Z
Thanks for the idea. I'm not using hooks, just running the commands line by line using SSH in terminal. The output messages I see don't indicate any problems.
Jack
<database><config><deployment><project.yaml>
Can't convince Project Config to make new fields on production
# Can't convince Project Config to make new fields on production

(Asked by: username_0 on 2024-07-03)

I am trying to troubleshoot a problem with Project Config updates not fully working when applied to my production site.
I am running a simple Git workflow: local Dev site -> git -> live Production site
My deployment process on the production site is to run these commands:
php craft clear-caches/all
git pull https://github.com/username/site.git
composer install --no-interaction
php craft up --interactive=0
php craft clear-caches/all

and finally opening an opcache_reset() page in my browser: https://site.url/opcache_reset.php
Some of my changes do appear in production: I can add UI elements to field layouts, like Horizonal Rule.
But important changes do not show up: I can't get a new field to appear. I can't create a new field group.
If I search for the new fields in the production site's Project Config pages, I see them, but they do not appear as fields in the actual entries.
I've tried clearing caches multiple ways, running 'php craft project-config/apply --force', and rebuilding the entire Project Config. Triple checked my .env and config settings. Nothing has worked and I'm out of ideas. Hoping someone has more suggestions for what I can try next. Thanks.

**Tags:** database, config, deployment, project.yaml

> **Comments:**
> **username_1**: Do you have any deployment logs? What happens under the hood when the deployment script runs `php craft up` – do the changes appear to be applied as expected, is there an error, or does Craft simply not pick up on the changes from the YAML file?  
> **username_1**: Also, if this _is_ OPcache related, ideally you'll want to clear it *before* `craft up`, not after. Typically this can be done by reloading the php-fpm service.  
> **username_0**: I just see craft's usual web.log files and I don't see any thing deployment related. Does craft make deployment logs somewhere else?   I'll move my Opcache step to the initial cache clear, thanks for the tip.  
> **username_1**: No, Craft knows nothing about your deployment routine; I was thinking more about logs generated in/from the environment or service you're using to deploy. But in terms of Craft logs; you might want to look at the console logs specifically, could be a clue in there.  
> **username_2**: This is just a guess, but perhaps you have a race condition? Are you certain that the pull has finished by the time `craft up` starts? I use a similar deployment strategy, but mine is split into two - First I do the `pull` via the `post-update` Git hook inside the bare repo, then I do the rest via a `post-merge` hook in the actual working copy. It's been like 10 years since I set it up so I can't really remember why I'm doing it that way, but it works!  
> **username_0**: Thanks for the idea. I'm not using hooks, just running the commands line by line using SSH in terminal. The output messages I see don't indicate any problems.  

---

## 0 answers

