Body: <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>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2024-07-03T21:06:56.197Z
Comments.Text: 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?
Comments.UserDisplayName: Mats Mikkel Rummelhoff
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2024-07-03T21:08:22.680Z
Comments.Text: 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.
Comments.UserDisplayName: Mats Mikkel Rummelhoff
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2024-07-03T21:20:49.537Z
Comments.Text: 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.
Comments.UserDisplayName: Jack
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2024-07-03T21:22:34.473Z
Comments.Text: 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.
Comments.UserDisplayName: Mats Mikkel Rummelhoff
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2024-07-04T08:11:48.823Z
Comments.Text: 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!
Comments.UserDisplayName: James Smith
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2024-07-04T22:28:49.237Z
Comments.Text: 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.
Comments.UserDisplayName: Jack
Tags: <database><config><deployment><project.yaml>
Title: Can't convince Project Config to make new fields on production
ThreadText: # 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
  
  