database

package
v0.6.0-rc.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 9, 2024 License: Apache-2.0 Imports: 42 Imported by: 0

Documentation

Overview

Code generated by 'make migrations-rebuild'; DO NOT EDIT.

Index

Constants

View Source
const (
	SQLiteSchemaName     = "sqlite"
	PostgresSchemaName   = "postgres"
	PostgresQLSchemaName = "postgresql"
)

list of supported database schemas.

View Source
const (
	SQLiteDialectorName   = "sqlite"
	PostgresDialectorName = "postgres"
)

list of supported dialects.

View Source
const (
	DefaultExperimentID   = int32(0)
	DefaultExperimentName = "Default"
)

Default Experiment properties.

View Source
const (
	SQLiteCustomDriverName = "sqlite3_custom_driver"
)

Variables

View Source
var DB *gorm.DB

DB is a global gorm.DB reference

Functions

func CheckAndMigrateDB added in v0.4.0

func CheckAndMigrateDB(migrate bool, db *gorm.DB) error

CheckAndMigrateDB makes database migration. nolint:gocyclo

func CreateDefaultExperiment added in v0.4.0

func CreateDefaultExperiment(db *gorm.DB, defaultArtifactRoot string) error

CreateDefaultExperiment creates the default experiment if it doesn't exist.

func CreateDefaultMetricContext added in v0.5.0

func CreateDefaultMetricContext(db *gorm.DB) error

CreateDefaultMetricContext creates the default metric context if it doesn't exist.

func CreateDefaultNamespace added in v0.4.0

func CreateDefaultNamespace(db *gorm.DB) error

CreateDefaultNamespace creates the default namespace if it doesn't exist.

func NewLoggerAdaptor added in v0.3.1

func NewLoggerAdaptor(l *logrus.Logger, cfg LoggerAdaptorConfig) logger.Interface

NewLoggerAdaptor creates a new logger adaptor.

func NewUUID

func NewUUID() string

Types

type AlembicVersion

type AlembicVersion struct {
	Version string `gorm:"column:version_num;type:varchar(32);not null;primaryKey"`
}

func (AlembicVersion) TableName

func (AlembicVersion) TableName() string

type App

type App struct {
	Base
	Type        string    `gorm:"not null" json:"type"`
	State       AppState  `json:"state"`
	Namespace   Namespace `json:"-"`
	NamespaceID uint      `gorm:"not null" json:"-"`
	IsArchived  bool      `json:"-"`
}

type AppState

type AppState map[string]any

func (AppState) GormDataType

func (s AppState) GormDataType() string

func (*AppState) Scan

func (s *AppState) Scan(v interface{}) error

func (AppState) Value

func (s AppState) Value() (driver.Value, error)

type Base

type Base struct {
	ID        uuid.UUID `gorm:"type:uuid;primaryKey" json:"id"`
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
}

func (*Base) BeforeCreate

func (b *Base) BeforeCreate(tx *gorm.DB) error

type Context added in v0.5.0

type Context struct {
	ID   uint        `gorm:"primaryKey;autoIncrement"`
	Json types.JSONB `gorm:"not null;unique;index"`
}

func (Context) GetJsonHash added in v0.5.0

func (c Context) GetJsonHash() string

GetJsonHash returns hash of the Context.Json

type DBInstance added in v0.3.0

type DBInstance struct {
	*gorm.DB
	// contains filtered or unexported fields
}

DBInstance is the base concrete type for DbProvider.

func (*DBInstance) Close added in v0.3.0

func (db *DBInstance) Close() error

Close invokes the closers.

func (*DBInstance) Dsn added in v0.3.0

func (db *DBInstance) Dsn() string

Dsn returns the dsn string.

func (*DBInstance) GormDB added in v0.3.0

func (db *DBInstance) GormDB() *gorm.DB

GormDB returns the gorm DB.

type DBProvider added in v0.3.0

type DBProvider interface {
	GormDB() *gorm.DB
	Dsn() string
	Close() error
	Reset() error
}

DBProvider is the interface to access the DB.

func NewDBProvider added in v0.4.0

func NewDBProvider(
	dsn string, slowThreshold time.Duration, poolMax int,
) (db DBProvider, err error)

NewDBProvider creates a DBProvider of the correct type from the parameters.

type Dashboard

type Dashboard struct {
	Base
	Name        string     `json:"name"`
	Description string     `json:"description"`
	AppID       *uuid.UUID `gorm:"type:uuid" json:"app_id"`
	App         App        `json:"-"`
	IsArchived  bool       `json:"-"`
}

func (Dashboard) MarshalJSON

func (d Dashboard) MarshalJSON() ([]byte, error)

type Experiment

type Experiment struct {
	ID               *int32         `gorm:"column:experiment_id;not null;primaryKey"`
	Name             string         `gorm:"type:varchar(256);not null;index:,unique,composite:name"`
	ArtifactLocation string         `gorm:"type:varchar(256)"`
	LifecycleStage   LifecycleStage `gorm:"type:varchar(32);check:lifecycle_stage IN ('active', 'deleted')"`
	CreationTime     sql.NullInt64  `gorm:"type:bigint"`
	LastUpdateTime   sql.NullInt64  `gorm:"type:bigint"`
	NamespaceID      uint           `gorm:"not null;index:,unique,composite:name"`
	Namespace        Namespace
	Tags             []ExperimentTag `gorm:"constraint:OnDelete:CASCADE"`
	Runs             []Run           `gorm:"constraint:OnDelete:CASCADE"`
}

func (Experiment) IsDefault added in v0.5.0

func (e Experiment) IsDefault(namespace *models.Namespace) bool

IsDefault makes check that Experiment is default.

type ExperimentTag

type ExperimentTag struct {
	Key          string `gorm:"type:varchar(250);not null;primaryKey"`
	Value        string `gorm:"type:varchar(5000)"`
	ExperimentID int32  `gorm:"not null;primaryKey"`
}

type Importer added in v0.3.0

type Importer struct {
	// contains filtered or unexported fields
}

Importer will handle transport of data from source to destination db.

func NewImporter added in v0.3.0

func NewImporter(input, output *gorm.DB) *Importer

NewImporter initializes an Importer.

func (*Importer) Import added in v0.3.0

func (s *Importer) Import() error

Import copies the contents of input db to output db.

type LatestMetric

type LatestMetric struct {
	Key       string  `gorm:"type:varchar(250);not null;primaryKey"`
	Value     float64 `gorm:"type:double precision;not null"`
	Timestamp int64
	Step      int64  `gorm:"not null"`
	IsNan     bool   `gorm:"not null"`
	RunID     string `gorm:"column:run_uuid;not null;primaryKey;index"`
	LastIter  int64
	ContextID uint `gorm:"not null;primaryKey"`
	Context   Context
}

type LifecycleStage

type LifecycleStage string
const (
	LifecycleStageActive  LifecycleStage = "active"
	LifecycleStageDeleted LifecycleStage = "deleted"
)

type LoggerAdaptorConfig added in v0.3.1

type LoggerAdaptorConfig struct {
	SlowThreshold             time.Duration
	IgnoreRecordNotFoundError bool
	ParameterizedQueries      bool
}

type Metric

type Metric struct {
	Key       string  `gorm:"type:varchar(250);not null;primaryKey"`
	Value     float64 `gorm:"type:double precision;not null;primaryKey"`
	Timestamp int64   `gorm:"not null;primaryKey"`
	RunID     string  `gorm:"column:run_uuid;not null;primaryKey;index"`
	Step      int64   `gorm:"default:0;not null;primaryKey"`
	IsNan     bool    `gorm:"default:false;not null;primaryKey"`
	Iter      int64   `gorm:"index"`
	ContextID uint    `gorm:"not null;primaryKey"`
	Context   Context
}

type Namespace added in v0.4.0

type Namespace struct {
	ID                  uint           `gorm:"primaryKey;autoIncrement" json:"id"`
	Apps                []App          `gorm:"constraint:OnDelete:CASCADE" json:"apps"`
	Code                string         `gorm:"unique;index;not null" json:"code"`
	Description         string         `json:"description"`
	CreatedAt           time.Time      `json:"created_at"`
	UpdatedAt           time.Time      `json:"updated_at"`
	DeletedAt           gorm.DeletedAt `gorm:"index" json:"deleted_at"`
	DefaultExperimentID *int32         `gorm:"not null" json:"default_experiment_id"`
	Experiments         []Experiment   `gorm:"constraint:OnDelete:CASCADE" json:"experiments"`
}

type Param

type Param struct {
	Key   string `gorm:"type:varchar(250);not null;primaryKey"`
	Value string `gorm:"type:varchar(500);not null"`
	RunID string `gorm:"column:run_uuid;not null;primaryKey;index"`
}

type PostgresDBInstance added in v0.3.0

type PostgresDBInstance struct {
	DBInstance
}

PostgresDBInstance is the Postgres-specific DbInstance variant.

func NewPostgresDBInstance added in v0.3.0

func NewPostgresDBInstance(
	dsnURL url.URL, slowThreshold time.Duration, poolMax int,
) (*PostgresDBInstance, error)

NewPostgresDBInstance constructs a Postgres DbInstance.

func (PostgresDBInstance) Reset added in v0.3.0

func (pgdb PostgresDBInstance) Reset() error

Reset resets database.

type Role added in v0.6.0

type Role struct {
	Base
	Role string `gorm:"unique;index;not null"`
}

type RoleNamespace added in v0.6.0

type RoleNamespace struct {
	Base
	Role        Role      `gorm:"constraint:OnDelete:CASCADE"`
	RoleID      uuid.UUID `gorm:"not null;index:,unique,composite:relation"`
	Namespace   Namespace `gorm:"constraint:OnDelete:CASCADE"`
	NamespaceID uuid.UUID `gorm:"not null;index:,unique,composite:relation"`
}

type RowNum

type RowNum int64

func (RowNum) GormDataType

func (rn RowNum) GormDataType() string

func (RowNum) GormValue

func (rn RowNum) GormValue(ctx context.Context, db *gorm.DB) clause.Expr

func (*RowNum) Scan

func (rn *RowNum) Scan(v interface{}) error

type Run

type Run struct {
	ID             string         `gorm:"<-:create;column:run_uuid;type:varchar(32);not null;primaryKey"`
	Name           string         `gorm:"type:varchar(250)"`
	SourceType     string         `gorm:"<-:create;type:varchar(20);check:source_type IN ('NOTEBOOK', 'JOB', 'LOCAL', 'UNKNOWN', 'PROJECT')"`
	SourceName     string         `gorm:"<-:create;type:varchar(500)"`
	EntryPointName string         `gorm:"<-:create;type:varchar(50)"`
	UserID         string         `gorm:"<-:create;type:varchar(256)"`
	Status         Status         `gorm:"type:varchar(9);check:status IN ('SCHEDULED', 'FAILED', 'FINISHED', 'RUNNING', 'KILLED')"`
	StartTime      sql.NullInt64  `gorm:"<-:create;type:bigint"`
	EndTime        sql.NullInt64  `gorm:"type:bigint"`
	SourceVersion  string         `gorm:"<-:create;type:varchar(50)"`
	LifecycleStage LifecycleStage `gorm:"type:varchar(20);check:lifecycle_stage IN ('active', 'deleted')"`
	ArtifactURI    string         `gorm:"<-:create;type:varchar(200)"`
	ExperimentID   int32
	Experiment     Experiment
	DeletedTime    sql.NullInt64  `gorm:"type:bigint"`
	RowNum         RowNum         `gorm:"<-:create;index"`
	Params         []Param        `gorm:"constraint:OnDelete:CASCADE"`
	Tags           []Tag          `gorm:"constraint:OnDelete:CASCADE"`
	Metrics        []Metric       `gorm:"constraint:OnDelete:CASCADE"`
	LatestMetrics  []LatestMetric `gorm:"constraint:OnDelete:CASCADE"`
}

type SchemaVersion

type SchemaVersion struct {
	Version string `gorm:"not null;primaryKey"`
}

func (SchemaVersion) TableName

func (SchemaVersion) TableName() string

type SqliteDBInstance added in v0.3.0

type SqliteDBInstance struct {
	DBInstance
}

SqliteDBInstance is the sqlite specific variant of DbInstance.

func NewSqliteDBInstance added in v0.3.0

func NewSqliteDBInstance(
	dsnURL url.URL, slowThreshold time.Duration, poolMax int,
) (*SqliteDBInstance, error)

NewSqliteDBInstance creates a SqliteDBInstance.

func (SqliteDBInstance) Reset added in v0.3.0

func (db SqliteDBInstance) Reset() error

Reset resets database.

type Status

type Status string
const (
	StatusRunning   Status = "RUNNING"
	StatusScheduled Status = "SCHEDULED"
	StatusFinished  Status = "FINISHED"
	StatusFailed    Status = "FAILED"
	StatusKilled    Status = "KILLED"
)

type Tag

type Tag struct {
	Key   string `gorm:"type:varchar(250);not null;primaryKey"`
	Value string `gorm:"type:varchar(5000)"`
	RunID string `gorm:"column:run_uuid;not null;primaryKey;index"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL