| // Application exportschema exports the expected schema as a serialized schema.Description. |
| package main |
| |
| import ( |
| "flag" |
| "os" |
| |
| "go.skia.org/infra/go/sklog" |
| "go.skia.org/infra/go/sql/schema/exportschema" |
| "go.skia.org/infra/perf/go/sql" |
| "go.skia.org/infra/perf/go/sql/spanner" |
| ) |
| |
| func main() { |
| var dbType string |
| var out string |
| fs := flag.NewFlagSet("exportschema", flag.ExitOnError) |
| fs.StringVar(&dbType, "databaseType", "", "Database type for the schema.") |
| fs.StringVar(&out, "out", "", "Filename of the schema Description to write.") |
| |
| err := fs.Parse(os.Args[1:]) |
| if err != nil { |
| sklog.Fatalf("Error parsing arguments: %v", err) |
| } |
| |
| schema := sql.Schema |
| if dbType == "spanner" { |
| schema = spanner.Schema |
| } |
| err = exportschema.Main(out, dbType, sql.Tables{}, schema) |
| if err != nil { |
| sklog.Fatal(err) |
| } |
| } |