I do a lot of WWW testing on a test platform before releasing onto a production server and I'm liking what I see thus far with SilverStripe. However, there doesn't appear to be a tool for migrating a site's content between hardware. Would it be fair to assume that these are the steps that need to be taken?
(Please assume that the target (production) server doesn't have SilverStripe installed yet)
Ensure target server has the same : MySQL database and user accounts as test server
Export the test server's database and import into target server
Copy contents of SilverStripe file system to target server
How far off am I?
(PS Formatting Help stats the use of "[ * ]" for bullets in a list, it doesn't work.)
You almost got it right - what you need to do is migrate your DB to the new server. Then you can update mysite/_config.php (or _ss_environment.php if your using one) with your new connection details. Then just copy all your site files over to your new server.
One extra change you may have to make is if you developed your site in a subdirectory your .htaccess file will have a like like "RequireBase /subdomain/" in it. If you then wish to run this site as the root of a domain name you need to change it to "RewriteBase /".
I have setup 2.3 RC3 on my local appach then moved eveything to DreamHost uploaded my local db and copy pasted the files.
Basically followed thats discribed above including .htaccess modification.
[User Error] Couldn't run query: SELECT `SiteTree`.*, `Page`.*, `GhostPage`.*, `BlogEntry`.*, `BlogHolder`.*, `GalleryPage`.*, `Products`.*, `ErrorPage`.*, `RedirectorPage`.*, `VirtualPage`.*, `UserDefinedForm`.*, `SiteTree`.ID, if(`SiteTree`.ClassName,`SiteTree`.ClassName,'SiteTree') AS RecordClassName FROM `SiteTree` LEFT JOIN `Page` ON `Page`.ID = `SiteTree`.ID LEFT JOIN `GhostPage` ON `GhostPage`.ID = `SiteTree`.ID LEFT JOIN `BlogEntry` ON `BlogEntry`.ID = `SiteTree`.ID LEFT JOIN `BlogHolder` ON `BlogHolder`.ID = `SiteTree`.ID LEFT JOIN `GalleryPage` ON `GalleryPage`.ID = `SiteTree`.ID LEFT JOIN `Products` ON `Products`.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 `UserDefinedForm` ON `UserDefinedForm`.ID = `SiteTree`.ID WHERE (HomepageForDomain REGEXP '(, ^) *prosafe\.projects\.MYWEBSITE\.in *(,|$)') ORDER BY Sort LIMIT 1 | Table 'prosafe_db.SiteTree' doesn't exist
Check out this doc: http://doc.silverstripe.org/doku.php?id=installation-on-windows-wamp
See step 7:
Left-click the gauge, then select MySQL â†’ my.ini. At the very bottom of the file, and add the following to a new line (without the quotes): â€œlower_case_table_names = 2â€. Save the file, close Notepad and left-click the gauge, and selected â€˜Restart all servicesâ€™. This is used to ease the transition between a Windows-based install and a Linux-based install where case-sensitivity is important.