Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

Installing SilverStripe

Getting SilverStripe up and running on your computer and on your web server.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

dev/build/flush=1 not working after deploy


Reply

4 Posts   3981 Views

Avatar
Dave L

23 September 2009 at 10:18pm (Last edited: 23 September 2009 10:19pm), Community Member, 56 Posts

Hi,

I got SS up and running on my dev machine, tagged in SVN and doing automated deploys via Capistrano to my staging machine. I didn't install SS on staging machine at all, just copied files and db over. All was well.

I've now added new code, modules, page types, etc. re-tagged in SVN and redeployed. The Capistrano deploy went fine and the files look ok on the staging end. However, now when I run http://<project>.staging/dev/build/flush=1 to rebuild the db and check my deploy, I get an error:

[23-Sep-2009 10:00:18] Error at var/www/<project>/releases/20090923085107/sapphire/core/model/MySQLDatabase.php line 401: Couldn't run query:
SELECT `SiteTree`.*, `GhostPage`.*, `Page`.*, `ErrorPage`.*, `RedirectorPage`.*, `VirtualPage`.*, `Article`.*, `Recipe`.*, `SiteTree`.ID, if(`SiteTree`.ClassName,`SiteTree`.ClassName,'SiteTree') AS RecordClassName
FROM `SiteTree`
LEFT JOIN `GhostPage` ON `GhostPage`.ID = `SiteTree`.ID
LEFT JOIN `Page` ON `Page`.ID = `SiteTree`.ID
LEFT JOIN `ErrorPage` ON `ErrorPage`.ID = `SiteTree`.ID
LEFT JOIN `RedirectorPage` ON `RedirectorPage`.ID = `SiteTree`.ID
LEFT JOIN `VirtualPage` ON `VirtualPage`.ID = `SiteTree`.ID
LEFT JOIN `Article` ON `Article`.ID = `SiteTree`.ID
LEFT JOIN `Recipe` ON `Recipe`.ID = `SiteTree`.ID
WHERE (HomepageForDomain REGEXP '(,

^) *<project>\.staging *(,|$)') ORDER BY Sort LIMIT 1 | Table '<project>.Page' doesn't exist (http://<project>.staging/Security/login)

My mysql log shows this:

       77 Connect <project>@192.168.1.x on
       77 Init DB <project>
       77 Query SHOW TABLES
       77 Query SHOW FULL FIELDS IN `Permission`
       77 Query SHOW COLLATION LIKE 'utf8_general_ci'
       77 Query SHOW FULL FIELDS IN `Member`
       77 Query SHOW FULL FIELDS IN `Permission`
       77 Query SHOW FULL FIELDS IN `Member`
       77 Query SELECT `SiteTree`.*, `GhostPage`.*, `Page`.*, `ErrorPage`.*, `RedirectorPage`.*, `VirtualPage`.*, `Article`.*, `Recipe`.*, `SiteTree`.ID, if(`SiteTree`.ClassName,`SiteTree`.ClassName,'SiteTree') AS RecordClassName FROM `SiteTree` LEFT JOIN `GhostPage` ON `GhostPage`.ID = `SiteTree`.ID LEFT JOIN `Page` ON `Page`.ID = `SiteTree`.ID LEFT JOIN `ErrorPage` ON `ErrorPage`.ID = `SiteTree`.ID LEFT JOIN `RedirectorPage` ON `RedirectorPage`.ID = `SiteTree`.ID LEFT JOIN `VirtualPage` ON `VirtualPage`.ID = `SiteTree`.ID LEFT JOIN `Article` ON `Article`.ID = `SiteTree`.ID LEFT JOIN `Recipe` ON `Recipe`.ID = `SiteTree`.ID WHERE (HomepageForDomain REGEXP '(,|^) *<project>\.staging *(,|$)') ORDER BY Sort LIMIT 1

It's failing because it's calling tables that haven't been built yet. If I copy over my dev db it's all fine.

Any ideas why it's not building the tables??

Avatar
Dave L

23 September 2009 at 10:46pm Community Member, 56 Posts

Ok, I just figured out I need a live admin session before I run /dev/build. A bit of a trap for newbies like me, since after deploying I cannot log into admin to create a session.

Now I just need to figure out how to create an admin session automatically via Capistrano :)

Avatar
elgordo

10 May 2011 at 10:59pm Community Member, 70 Posts

You can put the site into dev mode and this bypasses the need to log in - just ran into that problem and resolved it thus :)

Avatar
Plato

19 May 2011 at 2:10pm Community Member, 26 Posts

if you append ?isDev=1 to the end of your build command (eg /dev/build?flush=all&isDev=1 ) then you'll be prompted via a popup for the admin username and password without needing to log into the admin section.

I find it very handy when I've backed myself into a corner in a similar fashion (site won't load until I build, can't build until I've logged in).