Documentation
¶
Index ¶
- func DumpOnFailure(t testing.TB, connectionURL string)
- func NewDB(t testing.TB, opts ...Option) (database.Store, pubsub.Pubsub)
- func NewDBWithSQLDB(t testing.TB, opts ...Option) (database.Store, pubsub.Pubsub, *sql.DB)
- func Open() (string, func(), error)
- func OpenContainerized(port int) (string, func(), error)
- func PGDump(dbURL string) ([]byte, error)
- func PGDumpSchemaOnly(dbURL string) ([]byte, error)
- func WillUsePostgres() bool
- type Connector
- type DBTx
- type Driver
- type Option
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DumpOnFailure ¶ added in v2.2.0
DumpOnFailure exports the database referenced by connectionURL to a file corresponding to the current test, with a suffix indicating the time the test was run. To import this into a new database (assuming you have already run make test-postgres-docker):
- Create a new test database: go run ./scripts/migrate-ci/main.go and note the database name it outputs
- Import the file into the above database: psql 'postgres://postgres:postgres@127.0.0.1:5432/<dbname>?sslmode=disable' -f <path to file.test.sql>
- Run a dev server against that database: ./scripts/coder-dev.sh server --postgres-url='postgres://postgres:postgres@127.0.0.1:5432/<dbname>?sslmode=disable'
func NewDBWithSQLDB ¶ added in v2.3.1
func Open ¶ added in v2.10.0
Open creates a new PostgreSQL database instance. With DB_FROM environment variable set, it clones a database from the provided template. With the environment variable unset, it creates a new Docker container running postgres.
func OpenContainerized ¶ added in v2.10.0
OpenContainerized creates a new PostgreSQL server using a Docker container. If port is nonzero, forward host traffic to that port to the database. If port is zero, allocate a free port from the OS.
func PGDump ¶ added in v2.11.0
PGDump runs pg_dump against dbURL and returns the output. It is used by DumpOnFailure().
func PGDumpSchemaOnly ¶ added in v2.11.0
PGDumpSchemaOnly is for use by gen/dump only. It runs pg_dump against dbURL and sets a consistent timezone and encoding.
func WillUsePostgres ¶
func WillUsePostgres() bool
WillUsePostgres returns true if a call to NewDB() will return a real, postgres-backed Store and Pubsub.
Types ¶
type Connector ¶ added in v2.15.0
type Connector struct {
// contains filtered or unexported fields
}
type DBTx ¶ added in v2.17.0
type Option ¶ added in v2.2.0
type Option func(*options)
func WithDumpOnFailure ¶ added in v2.2.0
func WithDumpOnFailure() Option
WithDumpOnFailure will dump the entire database on test failure.
func WithLogger ¶ added in v2.8.0
func WithTimezone ¶ added in v2.2.0
WithTimezone sets the database to the defined timezone.