For those who FTP files to your asset folder or change its strucutre, here is a tip for you. Maybe you know, but I didn't and just about destroyed my site database.
Go to http://www.mysite.com/dev
There you get a selection of all of the utilities that are at your disposal. Very important and useful.
Here is the dev utility list:
•/dev/build: Build/rebuild this environment. Call this whenever you have updated your project sources
•/dev/buildcache: Rebuild the static cache, if you're using StaticPublisher
•/dev/tests: See a list of unit tests to run
•/dev/tests/all: Run all tests
•/dev/tests/startsession: Start a test session in your browser (gives you a temporary database with default content)
•/dev/tests/endsession: Ends a test session
•/dev/tasks: See a list of build tasks to run
•/dev/viewcode: Read source code in a literate programming style
Select the /dev/tasks link. Here you get:
•Sync Files & Images assets
The Files & Images system in SilverStripe maintains its own database of the contents of the assets/ folder. This action will update that database, and should be called whenever files are added to the assets/ folder from outside SilverStripe, for example, if an author uploads files via FTP.
•Forum Database Migration
Upgrades your 0.2 forum version to the 0.3 structure
•i18n Textcollector Task
Traverses through files in order to collect the 'entity master tables' stored in each module.
Provide atomic database changes (not implemented yet)
•Flush Generated Images Task
Remove all cached/generated images created as the result of an image manipulation
•Encrypt all passwords tasks
Convert all plaintext passwords on the Member table to the default encryption/hashing algorithm. Note: This mainly applies to passwords in SilverStripe 2.1 or earlier, passwords in newer versions are hashed by default.
•Migrate SiteTree Linking Task
Rewrites plain internal HTML links into shortcode form, using existing link tracking information.
•Migrate Translatable Task
Migrates site translations from SilverStripe 2.1/2.2 to new database structure.
•Upgrade SiteTree Permissions Schema
Move data from legacy columns to new schema introduced in SilverStripe 2.1.
SiteTree->Viewers to SiteTree->CanViewType
SiteTree->Editors to SiteTree->CanEditType
SiteTree->ViewersGroup to SiteTree->ViewerGroups (has_one to many_many)
SiteTree->Editorsroup to SiteTree->EditorGroups (has_one to many_many)
•UserForms Database Migration
Upgrades your current forms to the latest structure
•UserForms Versioned Initial Migration
Publishes the existing forms
If you pick the first one, it will reindex all of your asset files and make SS behave correctly.
I hope this helps someone avert heartache and disaster.