• The only good method I've seen so far is to source control the DDL scripts (maybe DML deployment as well).

    As soon as you allow GUI changes, things easily get out of hand.