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 // WithForeignKeys enables creating foreign-key in schema DDL. This defaults to true. WithForeignKeys = schema.WithForeignKeys )
View Source
var ( // BuildTraceEntriesColumns holds the columns for the "build_trace_entries" table. BuildTraceEntriesColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Nullable: true}, {Name: "drv_path", Type: field.TypeString}, {Name: "output_name", Type: field.TypeString}, {Name: "out_path", Type: field.TypeString}, {Name: "raw_json", Type: field.TypeString, Size: 2147483647}, } // BuildTraceEntriesTable holds the schema information for the "build_trace_entries" table. BuildTraceEntriesTable = &schema.Table{ Name: "build_trace_entries", Columns: BuildTraceEntriesColumns, PrimaryKey: []*schema.Column{BuildTraceEntriesColumns[0]}, Indexes: []*schema.Index{ { Name: "buildtraceentry_drv_path_output_name", Unique: true, Columns: []*schema.Column{BuildTraceEntriesColumns[3], BuildTraceEntriesColumns[4]}, }, }, } // BuildTraceSignaturesColumns holds the columns for the "build_trace_signatures" table. BuildTraceSignaturesColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "key_name", Type: field.TypeString}, {Name: "signature", Type: field.TypeString}, {Name: "build_trace_entry_id", Type: field.TypeInt}, } // BuildTraceSignaturesTable holds the schema information for the "build_trace_signatures" table. BuildTraceSignaturesTable = &schema.Table{ Name: "build_trace_signatures", Columns: BuildTraceSignaturesColumns, PrimaryKey: []*schema.Column{BuildTraceSignaturesColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "build_trace_signatures_build_trace_entries_signatures", Columns: []*schema.Column{BuildTraceSignaturesColumns[3]}, RefColumns: []*schema.Column{BuildTraceEntriesColumns[0]}, OnDelete: schema.Cascade, }, }, Indexes: []*schema.Index{ { Name: "buildtracesignature_build_trace_entry_id_key_name", Unique: true, Columns: []*schema.Column{BuildTraceSignaturesColumns[3], BuildTraceSignaturesColumns[1]}, }, { Name: "buildtracesignature_build_trace_entry_id", Unique: false, Columns: []*schema.Column{BuildTraceSignaturesColumns[3]}, }, }, } // ChunksColumns holds the columns for the "chunks" table. ChunksColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Nullable: true}, {Name: "hash", Type: field.TypeString}, {Name: "size", Type: field.TypeUint32}, {Name: "compressed_size", Type: field.TypeUint32, Default: 0}, } // ChunksTable holds the schema information for the "chunks" table. ChunksTable = &schema.Table{ Name: "chunks", Columns: ChunksColumns, PrimaryKey: []*schema.Column{ChunksColumns[0]}, Indexes: []*schema.Index{ { Name: "chunk_hash", Unique: true, Columns: []*schema.Column{ChunksColumns[3]}, }, }, } // ConfigColumns holds the columns for the "config" table. ConfigColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Nullable: true}, {Name: "key", Type: field.TypeString}, {Name: "value", Type: field.TypeString}, } // ConfigTable holds the schema information for the "config" table. ConfigTable = &schema.Table{ Name: "config", Columns: ConfigColumns, PrimaryKey: []*schema.Column{ConfigColumns[0]}, Indexes: []*schema.Index{ { Name: "configentry_key", Unique: true, Columns: []*schema.Column{ConfigColumns[3]}, }, }, } // NarFilesColumns holds the columns for the "nar_files" table. NarFilesColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Nullable: true}, {Name: "hash", Type: field.TypeString}, {Name: "compression", Type: field.TypeString, Default: ""}, {Name: "file_size", Type: field.TypeUint64}, {Name: "query", Type: field.TypeString, Default: ""}, {Name: "total_chunks", Type: field.TypeInt64, Default: 0}, {Name: "chunking_started_at", Type: field.TypeTime, Nullable: true}, {Name: "verified_at", Type: field.TypeTime, Nullable: true}, {Name: "last_accessed_at", Type: field.TypeTime, Nullable: true, Default: schema.Expr("CURRENT_TIMESTAMP")}, } // NarFilesTable holds the schema information for the "nar_files" table. NarFilesTable = &schema.Table{ Name: "nar_files", Columns: NarFilesColumns, PrimaryKey: []*schema.Column{NarFilesColumns[0]}, Indexes: []*schema.Index{ { Name: "narfile_hash_compression_query", Unique: true, Columns: []*schema.Column{NarFilesColumns[3], NarFilesColumns[4], NarFilesColumns[6]}, }, { Name: "narfile_last_accessed_at", Unique: false, Columns: []*schema.Column{NarFilesColumns[10]}, }, }, } // NarFileChunksColumns holds the columns for the "nar_file_chunks" table. NarFileChunksColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "chunk_index", Type: field.TypeInt}, {Name: "chunk_id", Type: field.TypeInt}, {Name: "nar_file_id", Type: field.TypeInt}, } // NarFileChunksTable holds the schema information for the "nar_file_chunks" table. NarFileChunksTable = &schema.Table{ Name: "nar_file_chunks", Columns: NarFileChunksColumns, PrimaryKey: []*schema.Column{NarFileChunksColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "nar_file_chunks_chunks_nar_file_links", Columns: []*schema.Column{NarFileChunksColumns[2]}, RefColumns: []*schema.Column{ChunksColumns[0]}, OnDelete: schema.Cascade, }, { Symbol: "nar_file_chunks_nar_files_chunk_links", Columns: []*schema.Column{NarFileChunksColumns[3]}, RefColumns: []*schema.Column{NarFilesColumns[0]}, OnDelete: schema.Cascade, }, }, Indexes: []*schema.Index{ { Name: "narfilechunk_nar_file_id_chunk_index", Unique: true, Columns: []*schema.Column{NarFileChunksColumns[3], NarFileChunksColumns[1]}, }, { Name: "narfilechunk_chunk_id", Unique: false, Columns: []*schema.Column{NarFileChunksColumns[2]}, }, }, } // NarinfosColumns holds the columns for the "narinfos" table. NarinfosColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Nullable: true}, {Name: "hash", Type: field.TypeString}, {Name: "store_path", Type: field.TypeString, Nullable: true}, {Name: "url", Type: field.TypeString, Nullable: true}, {Name: "compression", Type: field.TypeString, Nullable: true}, {Name: "file_hash", Type: field.TypeString, Nullable: true}, {Name: "file_size", Type: field.TypeInt64, Nullable: true}, {Name: "nar_hash", Type: field.TypeString, Nullable: true}, {Name: "nar_size", Type: field.TypeInt64, Nullable: true}, {Name: "deriver", Type: field.TypeString, Nullable: true}, {Name: "system", Type: field.TypeString, Nullable: true}, {Name: "ca", Type: field.TypeString, Nullable: true}, {Name: "last_accessed_at", Type: field.TypeTime, Nullable: true, Default: schema.Expr("CURRENT_TIMESTAMP")}, } // NarinfosTable holds the schema information for the "narinfos" table. NarinfosTable = &schema.Table{ Name: "narinfos", Columns: NarinfosColumns, PrimaryKey: []*schema.Column{NarinfosColumns[0]}, Indexes: []*schema.Index{ { Name: "narinfo_hash", Unique: true, Columns: []*schema.Column{NarinfosColumns[3]}, }, { Name: "narinfo_last_accessed_at", Unique: false, Columns: []*schema.Column{NarinfosColumns[14]}, }, }, } // NarinfoNarFilesColumns holds the columns for the "narinfo_nar_files" table. NarinfoNarFilesColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "nar_file_id", Type: field.TypeInt}, {Name: "narinfo_id", Type: field.TypeInt}, } // NarinfoNarFilesTable holds the schema information for the "narinfo_nar_files" table. NarinfoNarFilesTable = &schema.Table{ Name: "narinfo_nar_files", Columns: NarinfoNarFilesColumns, PrimaryKey: []*schema.Column{NarinfoNarFilesColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "narinfo_nar_files_nar_files_nar_info_nar_files", Columns: []*schema.Column{NarinfoNarFilesColumns[1]}, RefColumns: []*schema.Column{NarFilesColumns[0]}, OnDelete: schema.Cascade, }, { Symbol: "narinfo_nar_files_narinfos_nar_info_nar_files", Columns: []*schema.Column{NarinfoNarFilesColumns[2]}, RefColumns: []*schema.Column{NarinfosColumns[0]}, OnDelete: schema.Cascade, }, }, Indexes: []*schema.Index{ { Name: "narinfonarfile_narinfo_id_nar_file_id", Unique: true, Columns: []*schema.Column{NarinfoNarFilesColumns[2], NarinfoNarFilesColumns[1]}, }, { Name: "narinfonarfile_narinfo_id", Unique: false, Columns: []*schema.Column{NarinfoNarFilesColumns[2]}, }, { Name: "narinfonarfile_nar_file_id", Unique: false, Columns: []*schema.Column{NarinfoNarFilesColumns[1]}, }, }, } // NarinfoReferencesColumns holds the columns for the "narinfo_references" table. NarinfoReferencesColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "reference", Type: field.TypeString}, {Name: "narinfo_id", Type: field.TypeInt}, } // NarinfoReferencesTable holds the schema information for the "narinfo_references" table. NarinfoReferencesTable = &schema.Table{ Name: "narinfo_references", Columns: NarinfoReferencesColumns, PrimaryKey: []*schema.Column{NarinfoReferencesColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "narinfo_references_narinfos_references", Columns: []*schema.Column{NarinfoReferencesColumns[2]}, RefColumns: []*schema.Column{NarinfosColumns[0]}, OnDelete: schema.Cascade, }, }, Indexes: []*schema.Index{ { Name: "narinforeference_narinfo_id_reference", Unique: true, Columns: []*schema.Column{NarinfoReferencesColumns[2], NarinfoReferencesColumns[1]}, }, { Name: "narinforeference_reference", Unique: false, Columns: []*schema.Column{NarinfoReferencesColumns[1]}, }, }, } // NarinfoSignaturesColumns holds the columns for the "narinfo_signatures" table. NarinfoSignaturesColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "signature", Type: field.TypeString}, {Name: "narinfo_id", Type: field.TypeInt}, } // NarinfoSignaturesTable holds the schema information for the "narinfo_signatures" table. NarinfoSignaturesTable = &schema.Table{ Name: "narinfo_signatures", Columns: NarinfoSignaturesColumns, PrimaryKey: []*schema.Column{NarinfoSignaturesColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "narinfo_signatures_narinfos_signatures", Columns: []*schema.Column{NarinfoSignaturesColumns[2]}, RefColumns: []*schema.Column{NarinfosColumns[0]}, OnDelete: schema.Cascade, }, }, Indexes: []*schema.Index{ { Name: "narinfosignature_narinfo_id_signature", Unique: true, Columns: []*schema.Column{NarinfoSignaturesColumns[2], NarinfoSignaturesColumns[1]}, }, { Name: "narinfosignature_signature", Unique: false, Columns: []*schema.Column{NarinfoSignaturesColumns[1]}, }, }, } // PinnedClosuresColumns holds the columns for the "pinned_closures" table. PinnedClosuresColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "created_at", Type: field.TypeTime, Default: "CURRENT_TIMESTAMP"}, {Name: "updated_at", Type: field.TypeTime, Nullable: true}, {Name: "hash", Type: field.TypeString}, } // PinnedClosuresTable holds the schema information for the "pinned_closures" table. PinnedClosuresTable = &schema.Table{ Name: "pinned_closures", Columns: PinnedClosuresColumns, PrimaryKey: []*schema.Column{PinnedClosuresColumns[0]}, Indexes: []*schema.Index{ { Name: "pinnedclosure_hash", Unique: true, Columns: []*schema.Column{PinnedClosuresColumns[3]}, }, }, } // Tables holds all the tables in the schema. Tables = []*schema.Table{ BuildTraceEntriesTable, BuildTraceSignaturesTable, ChunksTable, ConfigTable, NarFilesTable, NarFileChunksTable, NarinfosTable, NarinfoNarFilesTable, NarinfoReferencesTable, NarinfoSignaturesTable, PinnedClosuresTable, } )
Functions ¶
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.