r-dbi / docker

Repository of Docker Images for testing database packages, including dm
MIT License
5 stars 0 forks source link
docker r testing

rdb

Repository of Docker Images for testing database packages, including dm.

Overview

Testing an R package that connects to a database can be a challenge. The package must be tested against different databases, different versions of the same database, and different operating systems. This can be a time-consuming process, especially if you don't have access to a database server.

This repository offers a solution based on Docker Compose. Docker images are defined for each component and for each database. A hierarchy of Docker Compose files helps combine the components and databases to run tests without altering the development environment.

Databases Covered:

Usage

Microsoft SQL & R

Launch Containers

docker-compose run rdb_mssql

Stop Containers

docker-compose down mssql #--volumes

MYSQL & R

Launch Containers

docker-compose run rdb_mysql

Stop Containers

docker-compose down mysql #--volumes

MariaDB & R

Launch Containers

docker-compose run rdb_maria

Stop Containers

docker-compose down maria #--volumes

PostgreSQL & R

Launch Containers

docker-compose run rdb_postgres

Stop Containers

docker-compose down postgres #--volumes

Oracle Database & R

Start Containers

Oracle Database Free

docker-compose run rdb_oracle

Oracle Database Express Edition

docker-compose run rdb_oracle-xe

Stop Containers

docker-compose down oracle #--volumes
docker-compose down oracle-xe #--volumes

SQLite Database & R

Start Containers

docker-compose run rdb_sqlite

No containers to stop.

DuckDB Database & R

Start Containers

docker-compose run rdb_duckdb

ADBC Database & R

Start Containers

docker-compose run rdb_adbi

No containers to stop.

Development

The main docker-compose.yml merely includes files in docker-compose/ . For new services, create a new file.

Pull all images

docker-compose pull

Pull individual images

Example: pull images necessary to run tests against Oracle.

docker-compose pull oracle rdb_oracle