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();
}