typeorm/docker-compose.yml
Nils Bergmann 91080be0cd
feat: implement generated columns for postgres 12 driver (#6469)
* feat: implement generated columns for postgres 12 driver

The implementation has the potential to make full text search much faster when using postgres. You can simply pre-generate all tsvector's

* test: add tests for generated columns in postgres 12

* docs: document generated columns for postgres 12

* fix: check postgres version for generated columns

Generated columns are only available on postgres version 12+

* test: add postgres 12 to tests

Currently, there are only tests for postgres 9. This adds postgres 12 as test target

* test: remove generated column from model

MariaDB will fail with a generated column type

* test: use non alpine container for postgres 12

* test: skip generated columns test on mariadb

* fix: detect generated column change

* fix: circle ci postgres version

* fix: add replication mode to isGeneratedColumnsSupported() function

Latest changes in master introduce replication mode. This commit adjust the the pull request #6469 to this change

* fix: ci testing for postgres 12

Latest changes in master broke the postgres 12 test setup

* style: remove SqlServerConnectionOptions generic parameter for createTypeormGeneratedMetadataTable function

imnotjames notice this in his review of the pull request

* style: remove unnecessary return of Promise.resolve()
This return of Promise.resolve() has no effect. We can leave it out

* style: fix whitespace issue for config.yml

* refactor: use VersionUtils

Instead of parsing the version string with parseFloat, use the typeorm VersionUtils

* fix: fix failing build

After merging the upstream into the pr fork, the build stopped working. The reason why the build fails, is because in the upstream one import is missing and one variable was removed

* refactor: replace promise.all() with for loop

* refactor: make requested changes

* fix: update table name

* fix: server version query and escape table column in queries

* code refactoring

* fixed lint issue

* removed "enabledDrivers" from test

Co-authored-by: Dmitry Zotov <dmzt08@gmail.com>
2021-11-14 18:02:35 +05:00

138 lines
3.4 KiB
YAML

version: "3"
services:
# mysql-5.5
#mysql5.5:
# image: "mysql:5.5"
# container_name: "typeorm-mysql-5.5"
# ports:
# - "3306:3306"
# environment:
# MYSQL_ROOT_PASSWORD: "admin"
# MYSQL_USER: "test"
# MYSQL_PASSWORD: "test"
# MYSQL_DATABASE: "test"
# mysql
mysql:
image: "mysql:5.7.24"
container_name: "typeorm-mysql"
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: "admin"
MYSQL_USER: "test"
MYSQL_PASSWORD: "test"
MYSQL_DATABASE: "test"
# mariadb
mariadb:
image: "mariadb:10.4.8"
container_name: "typeorm-mariadb"
ports:
- "3307:3306"
environment:
MYSQL_ROOT_PASSWORD: "admin"
MYSQL_USER: "test"
MYSQL_PASSWORD: "test"
MYSQL_DATABASE: "test"
# postgres
postgres:
# mdillon/postgis is postgres + PostGIS (only). if you need additional
# extensions, it's probably time to create a purpose-built image with all
# necessary extensions. sorry, and thanks for adding support for them!
image: "mdillon/postgis:9.6"
container_name: "typeorm-postgres"
ports:
- "5432:5432"
environment:
POSTGRES_USER: "test"
POSTGRES_PASSWORD: "test"
POSTGRES_DB: "test"
postgres-12:
# mdillon/postgis is postgres + PostGIS (only). if you need additional
# extensions, it's probably time to create a purpose-built image with all
# necessary extensions. sorry, and thanks for adding support for them!
image: "postgis/postgis:12-2.5"
container_name: "typeorm-postgres-12"
ports:
- "5532:5432"
environment:
POSTGRES_USER: "test"
POSTGRES_PASSWORD: "test"
POSTGRES_DB: "test"
# mssql
mssql:
image: "mcr.microsoft.com/mssql/server:2017-latest-ubuntu"
container_name: "typeorm-mssql"
ports:
- "1433:1433"
environment:
SA_PASSWORD: "Admin12345"
ACCEPT_EULA: "Y"
# cockroachdb
cockroachdb:
image: "cockroachdb/cockroach:latest-v21.1"
container_name: "typeorm-cockroachdb"
command: start-single-node --insecure --cache=.25 --store=type=mem,size=.25 --logtostderr=NONE --log-dir=""
ports:
- "26257:26257"
oracle:
image: imnotjames/oracle-xe:18
container_name: "typeorm-oracle"
ports:
- "1521:1521"
networks:
- default
- typeorm
# sap hana (works only on linux)
# hanaexpress:
# image: "store/saplabs/hanaexpress:2.00.040.00.20190729.1"
# container_name: "typeorm-hanaexpress"
# hostname: hxe
# command:
# [
# "--passwords-url",
# "file:////hana/hxe-config.json",
# "--agree-to-sap-license",
# ]
# ulimits:
# nofile: 1048576
# sysctls:
# - kernel.shmmax=1073741824
# - net.ipv4.ip_local_port_range=40000 60999
# - kernel.shmmni=524288
# - kernel.shmall=8388608
# volumes:
# - volume-hana-xe:/hana/mounts
# - ./docker/hana/hxe-config.json:/hana/hxe-config.json
# ports:
# - 39013:39013
# - 39017:39017
# - 39041-39045:39041-39045
# - 1128-1129:1128-1129
# - 59013-59014:59013-59014
# mongodb
mongodb:
image: "mongo:3.4.18"
container_name: "typeorm-mongodb"
ports:
- "27017:27017"
# redis
# redis:
# image: "redis:3.0.3"
# container_name: "typeorm-redis"
# ports:
# - "6379:6379"
#volumes:
# volume-hana-xe:
networks:
typeorm: