func()

in tools/mconnect/commands/export/export.go [108:143]


func (c *castExporter) export() error {
	ctx := context.Background()

	// TODO varify if should be checked
	// if err := parser.ValidFileFormat(c.filePath); err != nil {
	// 	return err
	// }

	client, err := bq.NewClient(ctx, c.projectID, option.WithUserAgent(messages.ExportUserAgent))
	if err != nil {
		return fmt.Errorf("bigquery.NewClient: %w", err)
	}
	client.Location = c.location
	defer client.Close()

	f, err := os.Open(c.filePath)
	if err != nil {
		return err
	}
	defer f.Close()

	created, err := c.createDataset(ctx, client)
	if err != nil {
		return err
	}
	if created {
		fmt.Println(messages.DatasetCreated{Name: c.datasetID, Region: c.location})
	}

	if err := c.createTable(ctx, client, f); err != nil {
		return err
	}
	fmt.Println(messages.TableCreated{Name: c.tableID})

	return nil
}