Fix CreateModel not including DEFAULT clause for db_default fields
_get_model_sql_data builds column definitions for CREATE TABLE but
never appends a DEFAULT clause for fields that have db_default set.
The add_field path already handles this correctly.
Add the same db_default handling to _get_model_sql_data so that
CreateModel migrations produce the expected DEFAULT values.
Fixes #2117
Fix AlterField ignoring max_length changes in migrations
The _alter_field method only checked for nullability, index, unique,
description, default and rename changes. It did not compare SQL_TYPE,
so changing max_length (e.g. VARCHAR(32) to VARCHAR(64)) produced no
migration SQL.
Add SQL type comparison to the base schema editor and update MySQL,
MSSQL, and Oracle overrides to emit the correct ALTER statements when
the column type changes.
Fixes #2120