Truncate is better, especially if some custom parameters have been used while creating the database. Although, I could again argue that a "restore" procedure should just execute what's in the backup.sql - any create clauses should be in there, ideally.