// Code generated by ent, DO NOT EDIT.

package migrate

import (
	"entgo.io/ent/dialect/sql/schema"
	"entgo.io/ent/schema/field"
)

var (
	// ArtifactsColumns holds the columns for the "artifacts" table.
	ArtifactsColumns = []*schema.Column{
		{Name: "id", Type: field.TypeInt, Increment: true},
		{Name: "astra_id", Type: field.TypeString, Unique: true},
		{Name: "name", Type: field.TypeString, Default: ""},
		{Name: "kind", Type: field.TypeString, Default: ""},
		{Name: "uri", Type: field.TypeString, Default: ""},
		{Name: "version", Type: field.TypeString, Default: ""},
		{Name: "hash", Type: field.TypeString, Default: ""},
		{Name: "size", Type: field.TypeInt64, Default: 0},
		{Name: "metadata", Type: field.TypeJSON, Nullable: true},
		{Name: "completeness", Type: field.TypeEnum, Enums: []string{"complete", "incomplete"}, Default: "complete"},
		{Name: "created_at", Type: field.TypeTime},
	}
	// ArtifactsTable holds the schema information for the "artifacts" table.
	ArtifactsTable = &schema.Table{
		Name:       "artifacts",
		Columns:    ArtifactsColumns,
		PrimaryKey: []*schema.Column{ArtifactsColumns[0]},
	}
	// EdgesColumns holds the columns for the "edges" table.
	EdgesColumns = []*schema.Column{
		{Name: "id", Type: field.TypeInt, Increment: true},
		{Name: "source", Type: field.TypeString},
		{Name: "target", Type: field.TypeString},
		{Name: "relation", Type: field.TypeString},
	}
	// EdgesTable holds the schema information for the "edges" table.
	EdgesTable = &schema.Table{
		Name:       "edges",
		Columns:    EdgesColumns,
		PrimaryKey: []*schema.Column{EdgesColumns[0]},
		Indexes: []*schema.Index{
			{
				Name:    "edge_source_target_relation",
				Unique:  true,
				Columns: []*schema.Column{EdgesColumns[1], EdgesColumns[2], EdgesColumns[3]},
			},
		},
	}
	// PrincipalsColumns holds the columns for the "principals" table.
	PrincipalsColumns = []*schema.Column{
		{Name: "id", Type: field.TypeInt, Increment: true},
		{Name: "astra_id", Type: field.TypeString, Unique: true},
		{Name: "name", Type: field.TypeString, Default: ""},
		{Name: "trust", Type: field.TypeString, Default: ""},
		{Name: "builder", Type: field.TypeString, Default: ""},
		{Name: "metadata", Type: field.TypeJSON, Nullable: true},
		{Name: "completeness", Type: field.TypeEnum, Enums: []string{"complete", "incomplete"}, Default: "complete"},
		{Name: "created_at", Type: field.TypeTime},
	}
	// PrincipalsTable holds the schema information for the "principals" table.
	PrincipalsTable = &schema.Table{
		Name:       "principals",
		Columns:    PrincipalsColumns,
		PrimaryKey: []*schema.Column{PrincipalsColumns[0]},
	}
	// ResourcesColumns holds the columns for the "resources" table.
	ResourcesColumns = []*schema.Column{
		{Name: "id", Type: field.TypeInt, Increment: true},
		{Name: "astra_id", Type: field.TypeString, Unique: true},
		{Name: "type", Type: field.TypeString, Default: ""},
		{Name: "uri", Type: field.TypeString, Default: ""},
		{Name: "format", Type: field.TypeString, Default: ""},
		{Name: "metadata", Type: field.TypeJSON, Nullable: true},
		{Name: "completeness", Type: field.TypeEnum, Enums: []string{"complete", "incomplete"}, Default: "complete"},
		{Name: "created_at", Type: field.TypeTime},
	}
	// ResourcesTable holds the schema information for the "resources" table.
	ResourcesTable = &schema.Table{
		Name:       "resources",
		Columns:    ResourcesColumns,
		PrimaryKey: []*schema.Column{ResourcesColumns[0]},
	}
	// StepsColumns holds the columns for the "steps" table.
	StepsColumns = []*schema.Column{
		{Name: "id", Type: field.TypeInt, Increment: true},
		{Name: "astra_id", Type: field.TypeString, Unique: true},
		{Name: "command", Type: field.TypeString, Default: ""},
		{Name: "environment", Type: field.TypeJSON},
		{Name: "arch", Type: field.TypeString, Default: ""},
		{Name: "timestamp", Type: field.TypeString},
		{Name: "metadata", Type: field.TypeJSON, Nullable: true},
		{Name: "completeness", Type: field.TypeEnum, Enums: []string{"complete", "incomplete"}, Default: "complete"},
		{Name: "created_at", Type: field.TypeTime},
	}
	// StepsTable holds the schema information for the "steps" table.
	StepsTable = &schema.Table{
		Name:       "steps",
		Columns:    StepsColumns,
		PrimaryKey: []*schema.Column{StepsColumns[0]},
	}
	// Tables holds all the tables in the schema.
	Tables = []*schema.Table{
		ArtifactsTable,
		EdgesTable,
		PrincipalsTable,
		ResourcesTable,
		StepsTable,
	}
)

func init() {
}
