List<String> createTable(SchemaTable table, { bool isTemporary: false })

Source

List<String> createTable(SchemaTable table, {bool isTemporary: false}) {
  var commands = <String>[];

  // Create table command
  var columnString = table.columns.map((col) => _columnStringForColumn(col)).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;
}