Skip to content

Firebird

Since v0.44.0

Introduction

The Testcontainers module for Firebird, a relational database that runs on Linux, Windows, and Unix platforms. It exposes a firebird:// connection string on port 3050.

Adding this module to your project dependencies

Please run the following command to add the Firebird module to your Go dependencies:

go get github.com/testcontainers/testcontainers-go/modules/firebird

Usage example

ctx := context.Background()

firebirdContainer, err := firebird.Run(ctx,
    "jacobalberty/firebird:v3.0",
    firebird.WithDatabase("test.fdb"),
    firebird.WithUsername("test"),
    firebird.WithPassword("test"),
)
defer func() {
    if err := testcontainers.TerminateContainer(firebirdContainer); err != nil {
        log.Printf("failed to terminate container: %s", err)
    }
}()
if err != nil {
    log.Printf("failed to start container: %s", err)
    return
}

Module Reference

Run function

The Firebird module exposes one entrypoint function to create the Firebird container, and this function receives three parameters:

func Run(ctx context.Context, img string, opts ...testcontainers.ContainerCustomizer) (*Container, error)
  • context.Context, the Go context.
  • string, the Docker image to use.
  • testcontainers.ContainerCustomizer, a variadic argument for passing options.

Image

Use the second argument in the Run function to set a valid Docker image. In example: Run(context.Background(), "ghcr.io/jacobalberty/firebird:v3.0").

Container Options

When starting the Firebird container, you can pass options in a variadic way to configure it.

Tip

You can find all the available configuration and environment variables for the Firebird Docker image on GitHub.

WithDatabase

Sets the FIREBIRD_DATABASE environment variable. The default database name is test.fdb.

firebird.WithDatabase("mydb.fdb")

WithUsername

Sets the FIREBIRD_USER environment variable. The default username is test.

firebird.WithUsername("myuser")

WithPassword

Sets the FIREBIRD_PASSWORD environment variable. The default password is test.

firebird.WithPassword("mypassword")

WithSYSDBAPassword

Sets the ISC_PASSWORD environment variable, which is the SYSDBA master password. The default is masterkey.

firebird.WithSYSDBAPassword("mysysdbapassword")

The following options are exposed by the testcontainers package.

Basic Options

Lifecycle Options

Files & Mounts Options

Build Options

Logging Options

Image Options

Networking Options

Advanced Options

Experimental Options

Container Methods

ConnectionString

This method returns the connection string to connect to the Firebird container, using the firebird:// scheme on the default port 3050.

connStr, err := ctr.ConnectionString(ctx)