List<String>
createTable(SchemaTable table, { bool isTemporary: false })
Source
List<String> createTable(SchemaTable table, {bool isTemporary: false}) {
var columnString =
table.columns.map((col) => _columnStringForColumn(col)).join(",");
var tableCommand =
"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);
var constraintCommands = table.columns
.where((sc) => sc.isForeignKey)
.map((col) => _addConstraintsForColumn(table.name, col))
.expand((commands) => commands);
return [
[tableCommand],
indexCommands,
constraintCommands
].expand((cmds) => cmds).toList();
}