Remember to include the host declaration in the database.yml file when you deploy to Dreamhost. Dreamhost does not use "localhost" which is typically the default setting when using the mysql adapter and developing locally or even on a small site.
At least for me, when I ported a Rails app to Dreamhost, this was the only "Gotcha", because my log files were not reporting any errors and were instead serving the 500 something went wrong file. A sample config/database.yml file
production: adapter: mysql username: youruser password: yourpasswd database: ror_production_db host: mysql.yourdomain.com
To port, I unpack my gems, if I haven't already
rake gems:unpackThen I freeze and package rails w/ my app just in case versions aren't exact
rake rails:freeze:gemsThen I upload to Dreamhost!