# File lib/dm-migrations/adapters/dm-do-adapter.rb, line 55
      def upgrade_model_storage(model)
        name       = self.name
        properties = model.properties_with_subclasses(name)

        if success = create_model_storage(model)
          return properties
        end

        table_name = model.storage_name(name)

        with_connection do |connection|
          properties.map do |property|
            schema_hash = property_schema_hash(property)
            next if field_exists?(table_name, schema_hash[:name])

            statement = alter_table_add_column_statement(connection, table_name, schema_hash)
            command   = connection.create_command(statement)
            command.execute_non_query

            # For simple :index => true columns, add an appropriate index.
            # Upgrading doesn't know how to deal with complex indexes yet.
            if property.options[:index] === true
              statement = create_index_statement(model, property.name, [property.field])
              command   = connection.create_command(statement)
              command.execute_non_query
            end

            property
          end.compact
        end
      end