datastore

package
v2.0.0-beta-001+incomp... Latest Latest
Warning

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

Go to latest
Published: Jun 15, 2018 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SERVICES_ENV = "VCAP_SERVICES"
	STRATOS_TAG  = "stratos"
	URI_POSTGRES = "postgres://"
	URI_MYSQL    = "mysql://"
	TAG_MYSQL    = "mysql"
	TAG_POSTGRES = "postgresql"
	DB_URI       = "uri"
)
View Source
const (
	// SQLite DB Provider
	SQLITE string = "sqlite"
	// PGSQL DB Provider
	PGSQL = "pgsql"
	// MYSQL DB Provider
	MYSQL = "mysql"
)
View Source
const (
	// SSLDisabled means no checking of SSL
	SSLDisabled SSLValidationMode = "disable"
	// SSLRequired requires SSL without validation
	SSLRequired SSLValidationMode = "require"
	// SSLVerifyCA verifies the CA certificate
	SSLVerifyCA SSLValidationMode = "verify-ca"
	// SSLVerifyFull verifies the certificate and hostname and the CA
	SSLVerifyFull SSLValidationMode = "verify-full"
	// SQLiteSchemaFile - SQLite schema file
	SQLiteSchemaFile = "./deploy/db/sqlite_schema.sql"
	// SQLiteDatabaseFile - SQLite database file
	SQLiteDatabaseFile = "./console-database.db"
	// Default database provider when not specified
	DefaultDatabaseProvider = MYSQL
)
View Source
const (
	// UniqueConstraintViolation is the error code for a unique constraint violation
	UniqueConstraintViolation = 23505

	// DefaultConnectionTimeout is the default to timeout on connections
	DefaultConnectionTimeout = 10
)

Variables

This section is empty.

Functions

func ApplyMigrations

func ApplyMigrations(conf *goose.DBConf, db *sql.DB)

func Down_20170818120003

func Down_20170818120003(txn *sql.Tx)

Down is executed when this migration is rolled back

func Down_20170818162837

func Down_20170818162837(txn *sql.Tx)

Down is executed when this migration is rolled back

func Down_20170829154900

func Down_20170829154900(txn *sql.Tx)

Down is executed when this migration is rolled back

func Down_20171108102900

func Down_20171108102900(txn *sql.Tx)

func Down_20180413135700

func Down_20180413135700(txn *sql.Tx)

func GetConnection

func GetConnection(dc DatabaseConfig) (*sql.DB, error)

GetConnection returns a database connection to either PostgreSQL or SQLite

func GetSQLLiteConnection

func GetSQLLiteConnection() (*sql.DB, error)

func ModifySQLStatement

func ModifySQLStatement(sql string, databaseProvider string) string

ModifySQLStatement - Modify the given DB statement for the specified provider, as appropraite e.g Postgres uses $1, $2 etc SQLite uses ?

func ParseCFEnvs

func ParseCFEnvs(db *DatabaseConfig) (bool, error)

Discover cf db services via their 'uri' env var and apply settings to the DatabaseConfig objects

func Ping

func Ping(db *sql.DB) error

Ping - ping the database to ensure the connection/pool works.

Types

type By

type By func(p1, p2 *StratosMigrationMehod) bool

func (By) Sort

func (by By) Sort(methods []StratosMigrationMehod)

Sort is a method on the function type, By, that sorts the argument slice according to the function.

type DatabaseConfig

type DatabaseConfig struct {
	DatabaseProvider        string `configName:"DATABASE_PROVIDER"`
	Username                string `configName:"DB_USER"`
	Password                string `configName:"DB_PASSWORD"`
	Database                string `configName:"DB_DATABASE_NAME"`
	Host                    string `configName:"DB_HOST"`
	Port                    int    `configName:"DB_PORT"`
	SSLMode                 string `configName:"DB_SSL_MODE"`
	ConnectionTimeoutInSecs int    `configName:"DB_CONNECT_TIMEOUT_IN_SECS"`
	SSLCertificate          string `configName:"DB_CERT"`
	SSLKey                  string `configName:"DB_CERT_KEY"`
	SSLRootCertificate      string `configName:"DB_ROOT_CERT"`
}

DatabaseConfig represents the connection configuration parameters

func NewDatabaseConnectionParametersFromConfig

func NewDatabaseConnectionParametersFromConfig(dc DatabaseConfig) (DatabaseConfig, error)

NewDatabaseConnectionParametersFromConfig setup database connection parameters based on contents of config struct

type SSLValidationMode

type SSLValidationMode string

SSLValidationMode is the PostgreSQL driver SSL validation modes

type StratosMigrationMehod

type StratosMigrationMehod struct {
	Name    string
	Version int64
	Method  reflect.Method
}

type StratosMigrations

type StratosMigrations struct {
}

func (*StratosMigrations) Up_20170818120003

func (s *StratosMigrations) Up_20170818120003(txn *sql.Tx, conf *goose.DBConf)

Up is executed when this migration is applied

func (*StratosMigrations) Up_20170818162837

func (s *StratosMigrations) Up_20170818162837(txn *sql.Tx, conf *goose.DBConf)

Up is executed when this migration is applied

func (*StratosMigrations) Up_20170829154900

func (s *StratosMigrations) Up_20170829154900(txn *sql.Tx, conf *goose.DBConf)

Up is executed when this migration is applied

func (*StratosMigrations) Up_20171108102900

func (s *StratosMigrations) Up_20171108102900(txn *sql.Tx, conf *goose.DBConf)

func (*StratosMigrations) Up_20180413135700

func (s *StratosMigrations) Up_20180413135700(txn *sql.Tx, conf *goose.DBConf)

type VCAPService

type VCAPService struct {
	Credentials map[string]interface{} `json:"credentials"`
	Tags        []string               `json:"tags"`
	Name        string                 `json:"name"`
}

Jump to

Keyboard shortcuts

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