func()

in tools/mconnect/commands/export/export.go [176:207]


func (c *castExporter) createTable(ctx context.Context, client *bq.Client, f *os.File) error {
	source := bq.NewReaderSource(f)
	source.AutoDetect = true   // Allow BigQuery to determine schema.
	source.SkipLeadingRows = 1 // CSV has a single header line.

	loader := client.Dataset(c.datasetID).Table(c.tableID).LoaderFrom(source)
	loader.LoadConfig.ColumnNameCharacterMap = bq.V1ColumnNameCharacterMap
	if force {
		exist, err := c.tableExist(ctx, client)
		if err != nil {
			return err
		}
		if exist {
			fmt.Println(messages.ReplacingExistingTable{Name: c.tableID})
		}
		loader.WriteDisposition = bq.WriteTruncate
	} else {
		loader.WriteDisposition = bq.WriteEmpty
	}
	job, err := loader.Run(ctx)
	if err != nil {
		return err
	}
	status, err := job.Wait(ctx)
	if err != nil {
		return err
	}
	if err := status.Err(); err != nil {
		return err
	}
	return nil
}