This docker environment will easily spin up all the RDBMSes so you can run the test suites for all FDO providers based on the GenericRdbms sub-framework:
- OSGeo.MySQL
- OSGeo.PostgreSQL
- OSGeo.ODBC
- OSGeo.SQLServerSpatial
With SQL Server 2017 now available not only for Linux (but as a Docker container), we have the ability to spin up all required DBMSes on a homogenous docker host. This docker environment is an easier way to set up the required FDO test environment for relational databases versus installing the required DBMSes "bare metal" on your developer environment.
Install the Access Database Engine: https://www.microsoft.com/en-us/download/details.aspx?id=54920
Install MySQL Connector/ODBC (for ODBC MySQL tests): https://dev.mysql.com/downloads/connector/odbc/
If you have Windows 10 (Professional Edition):
- Docker for Windows
- Enable the containers feature
If you have an older version of Windows:
- Install VirtualBox
- Create a Ubuntu VM (recommend current LTS version) with at least 6GB RAM
- Install docker on this VM
- Set networking mode for this VM to: bridged
- Download the files in this gist. If you are using a VirtualBox VM for the docker host, download
docker-compose.yml
to the VM. - Modify the various txt files to ensure the IP addres / hostname is the IP address / hostname of the docker host. If you have Docker on Windows 10, this would be
localhost
. If you are using a VirtualBox VM, this would be the IP address of the VM. The text files provided here assume the docker host name isfdodb
which you can point either locally or to the VM by adding a hostname entry in%windir%\System32\drivers\etc\hosts
- Run
docker-compose up
in the directory wheredocker-compose.yml
is downloaded - [One time setup]: Drop any PostgreSQL schema that is not
public
from thetemplate_postgis
andpostgres
databases. This is to make the PostgreSQL schema tests happy as they are expecting a schema with only thepublic
schema. - Build FDO and run the unit test executables using the provided init text files