toSQL<T extends SqlType> method

  1. @override
String toSQL<T extends SqlType>()
override

Generates the SQL CREATE TABLE statement for this table.

Returns a complete MySQL CREATE TABLE statement including all fields, engine, charset, and collation specifications.

Implementation

@override
String toSQL<T extends SqlType>() {
  String sql = 'CREATE TABLE ${SQL.q<T>(name)} (';
  sql += fields.map((field) => field.toSQL<T>()).join(', ');
  sql += ')';
  sql +=
      SqlType.isMysql<T>()
          ? ' ENGINE=$engine DEFAULT CHARSET=$charset COLLATE=$collation;'
          : ';';
  return sql;
}