Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // WithGlobalUniqueID sets the universal ids options to the migration. // If this option is enabled, ent migration will allocate a 1<<32 range // for the ids of each entity (table). // Note that this option cannot be applied on tables that already exist. WithGlobalUniqueID = schema.WithGlobalUniqueID // WithDropColumn sets the drop column option to the migration. // If this option is enabled, ent migration will drop old columns // that were used for both fields and edges. This defaults to false. WithDropColumn = schema.WithDropColumn // WithDropIndex sets the drop index option to the migration. // If this option is enabled, ent migration will drop old indexes // that were defined in the schema. This defaults to false. // Note that unique constraints are defined using `UNIQUE INDEX`, // and therefore, it's recommended to enable this option to get more // flexibility in the schema changes. WithDropIndex = schema.WithDropIndex // WithFixture sets the foreign-key renaming option to the migration when upgrading // ent from v0.1.0 (issue-#285). Defaults to false. WithFixture = schema.WithFixture )
View Source
var ( // ApplicationsColumns holds the columns for the "applications" table. ApplicationsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "name", Type: field.TypeString}, {Name: "status", Type: field.TypeString}, {Name: "created_at", Type: field.TypeTime}, {Name: "started_at", Type: field.TypeTime, Nullable: true}, {Name: "updated_at", Type: field.TypeTime}, {Name: "scenario", Type: field.TypeString, Size: 2147483647}, {Name: "gomod", Type: field.TypeString, Size: 2147483647, Default: ""}, {Name: "gosum", Type: field.TypeString, Size: 2147483647, Default: ""}, } // ApplicationsTable holds the schema information for the "applications" table. ApplicationsTable = &schema.Table{ Name: "applications", Columns: ApplicationsColumns, PrimaryKey: []*schema.Column{ApplicationsColumns[0]}, ForeignKeys: []*schema.ForeignKey{}, } // CountersColumns holds the columns for the "counters" table. CountersColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "time", Type: field.TypeInt64}, {Name: "count", Type: field.TypeInt64}, {Name: "w_id", Type: field.TypeString}, {Name: "metric_counters", Type: field.TypeInt, Nullable: true}, } // CountersTable holds the schema information for the "counters" table. CountersTable = &schema.Table{ Name: "counters", Columns: CountersColumns, PrimaryKey: []*schema.Column{CountersColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "counters_metrics_counters", Columns: []*schema.Column{CountersColumns[4]}, RefColumns: []*schema.Column{MetricsColumns[0]}, OnDelete: schema.SetNull, }, }, } // GaugesColumns holds the columns for the "gauges" table. GaugesColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "time", Type: field.TypeInt64}, {Name: "value", Type: field.TypeInt64}, {Name: "w_id", Type: field.TypeString}, {Name: "metric_gauges", Type: field.TypeInt, Nullable: true}, } // GaugesTable holds the schema information for the "gauges" table. GaugesTable = &schema.Table{ Name: "gauges", Columns: GaugesColumns, PrimaryKey: []*schema.Column{GaugesColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "gauges_metrics_gauges", Columns: []*schema.Column{GaugesColumns[4]}, RefColumns: []*schema.Column{MetricsColumns[0]}, OnDelete: schema.SetNull, }, }, } // GraphsColumns holds the columns for the "graphs" table. GraphsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "title", Type: field.TypeString}, {Name: "unit", Type: field.TypeString}, {Name: "group_graphs", Type: field.TypeInt, Nullable: true}, } // GraphsTable holds the schema information for the "graphs" table. GraphsTable = &schema.Table{ Name: "graphs", Columns: GraphsColumns, PrimaryKey: []*schema.Column{GraphsColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "graphs_groups_graphs", Columns: []*schema.Column{GraphsColumns[3]}, RefColumns: []*schema.Column{GroupsColumns[0]}, OnDelete: schema.SetNull, }, }, } // GroupsColumns holds the columns for the "groups" table. GroupsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "name", Type: field.TypeString}, {Name: "application_groups", Type: field.TypeInt, Nullable: true}, } // GroupsTable holds the schema information for the "groups" table. GroupsTable = &schema.Table{ Name: "groups", Columns: GroupsColumns, PrimaryKey: []*schema.Column{GroupsColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "groups_applications_groups", Columns: []*schema.Column{GroupsColumns[2]}, RefColumns: []*schema.Column{ApplicationsColumns[0]}, OnDelete: schema.SetNull, }, }, } // HistogramsColumns holds the columns for the "histograms" table. HistogramsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "time", Type: field.TypeInt64}, {Name: "count", Type: field.TypeInt64}, {Name: "min", Type: field.TypeInt64}, {Name: "max", Type: field.TypeInt64}, {Name: "mean", Type: field.TypeFloat64}, {Name: "stddev", Type: field.TypeFloat64}, {Name: "median", Type: field.TypeFloat64}, {Name: "p75", Type: field.TypeFloat64}, {Name: "p95", Type: field.TypeFloat64}, {Name: "p99", Type: field.TypeFloat64}, {Name: "p999", Type: field.TypeFloat64}, {Name: "w_id", Type: field.TypeString}, {Name: "metric_histograms", Type: field.TypeInt, Nullable: true}, } // HistogramsTable holds the schema information for the "histograms" table. HistogramsTable = &schema.Table{ Name: "histograms", Columns: HistogramsColumns, PrimaryKey: []*schema.Column{HistogramsColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "histograms_metrics_histograms", Columns: []*schema.Column{HistogramsColumns[13]}, RefColumns: []*schema.Column{MetricsColumns[0]}, OnDelete: schema.SetNull, }, }, } // MetricsColumns holds the columns for the "metrics" table. MetricsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "title", Type: field.TypeString}, {Name: "type", Type: field.TypeString}, {Name: "graph_metrics", Type: field.TypeInt, Nullable: true}, } // MetricsTable holds the schema information for the "metrics" table. MetricsTable = &schema.Table{ Name: "metrics", Columns: MetricsColumns, PrimaryKey: []*schema.Column{MetricsColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "metrics_graphs_metrics", Columns: []*schema.Column{MetricsColumns[3]}, RefColumns: []*schema.Column{GraphsColumns[0]}, OnDelete: schema.SetNull, }, }, } // TagsColumns holds the columns for the "tags" table. TagsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "name", Type: field.TypeString, Size: 255}, {Name: "application_tags", Type: field.TypeInt, Nullable: true}, } // TagsTable holds the schema information for the "tags" table. TagsTable = &schema.Table{ Name: "tags", Columns: TagsColumns, PrimaryKey: []*schema.Column{TagsColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "tags_applications_tags", Columns: []*schema.Column{TagsColumns[2]}, RefColumns: []*schema.Column{ApplicationsColumns[0]}, OnDelete: schema.SetNull, }, }, Indexes: []*schema.Index{ { Name: "tag_name_application_tags", Unique: true, Columns: []*schema.Column{TagsColumns[1], TagsColumns[2]}, }, }, } // Tables holds all the tables in the schema. Tables = []*schema.Table{ ApplicationsTable, CountersTable, GaugesTable, GraphsTable, GroupsTable, HistogramsTable, MetricsTable, TagsTable, } )
Functions ¶
This section is empty.
Types ¶
type Schema ¶
type Schema struct {
// contains filtered or unexported fields
}
Schema is the API for creating, migrating and dropping a schema.
Click to show internal directories.
Click to hide internal directories.