buildSQL method
Build the SQL
.
Implementation
@override
String buildSQL({bool multiline = true, bool ifNotExists = true}) {
var ln = multiline ? '\n' : '';
final sql = StringBuffer();
sql.write('CREATE TABLE ');
if (ifNotExists) {
sql.write('IF NOT EXISTS ');
}
sql.write('$q$table$q ($ln');
var maxLine = entries
.where((e) => e.type != 'CONSTRAINT')
.map((e) => e.sql.length)
.max +
3;
var i = 0;
for (var e in entries) {
var line = e.sql;
var comment = e.comment;
var lineLength = line.length;
var lastEntry = i == entries.length - 1;
sql.write(line);
if (!lastEntry) {
sql.write(',');
lineLength++;
}
if (multiline && comment != null) {
var pad = maxLine - lineLength;
var space = ' '.padRight(pad, ' ');
sql.write('$space-- $comment');
}
if (!lastEntry) {
sql.write(ln);
}
i++;
}
sql.write(' $ln) ;');
return sql.toString();
}