createTable method
Implementation
List<String> createTable(SchemaTable table, {bool isTemporary = false}) {
var commands = <String>[];
// Create table command
var columnString = table.columns.map(_columnStringForColumn).join(",");
commands.add(
"CREATE${isTemporary ? " TEMPORARY " : " "}TABLE ${table.name} ($columnString)");
var indexCommands = table.columns
.where((col) =>
col.isIndexed! &&
!col.isPrimaryKey!) // primary keys are auto-indexed
.map((col) => addIndexToColumn(table, col))
.expand((commands) => commands);
commands.addAll(indexCommands);
commands.addAll(table.columns
.where((sc) => sc.isForeignKey)
.map((col) => _addConstraintsForColumn(table.name, col))
.expand((commands) => commands));
if (table.uniqueColumnSet != null) {
commands.addAll(addTableUniqueColumnSet(table));
}
return commands;
}