Creating a view through a migration

Does anyone have any experience creating views using migration files. I know that I could create the view using execute syntax but I was wondering if there is a best practice with regards to that?

Thanks,
Jim