Reputation: 5630
I have a very scary problem. The last couple of times I have pushed code to production, silverstripe will set a table or two as obsolete, even if the changes made are unrelated to that class. When I run a build for a second time the table is back but with no rows.
The really odd thing is that this only seems to happen on our production environment (of course).
On staging and production we are running sake dev/build
in a post deployment hook through beanstalk which is when the obsolete tables are being created.
I read in another question that this could be because the table doesn't have a $db defined or it doesn't have a $has_one relationship. But that is not the case for us, the page has both set and more.
Server configuration:
SilverStripe version 3.1 (up to date)
PHP
Dev 5.6.16
Staging 5.5.14
Production 5.5.28
Mysql
Dev 5.6.27
Staging 5.1.73
Production 5.1.73
It sounds to me like it could be a config cache of some sort.
I am not sure what other information is required to diagnose just let me know and I will get additional info.
Upvotes: 1
Views: 208
Reputation: 5630
I am not sure exactly what was causing this but it looks like our automated deployment process had left behind a couple of directories and files. We have moved to composer, deployed from scratch on the affected projects and everything is behaving now.
Upvotes: 1