keboola / storage-driver-common
Keboola common driver
Installs: 6 066
Dependents: 2
Suggesters: 0
Security: 0
Stars: 1
Watchers: 9
Forks: 0
Open Issues: 1
Type:project
Requires
- php: ^8.1
- ext-json: *
- aws/aws-sdk-php: ^3
- google/protobuf: ^3.21
- keboola/common-exceptions: ^1
- keboola/php-file-storage-utils: ^0.2.2
Requires (Dev)
- dev-main
- v6.9.0
- v6.8.0
- v6.7.0
- v6.6.0
- v6.5.0
- v6.4.0
- v6.3.0
- v6.2.2
- v6.2.1
- v6.2.0
- v6.1.0
- v6.0.0
- v5.0.0
- v4.0.1
- v4.0.0
- v3.3.1
- v3.3.0
- v3.2.0
- v3.1.1
- v3.1.0
- v3.0.0
- v2.5.0
- v2.4.2
- v2.4.1
- v2.4
- v2.3
- v2.2
- v2.1
- v2.0
- v1.6
- v1.5
- v1.4
- v1.3
- v1.2
- v1.1
- v1.0
- v0.2
- v0.1
- dev-zajca-ct-950-ignore-columns
- dev-CT-933-add-release-development-branch-tag-to-able-to-require-in-other-lib-in-process-of-programming
- dev-jirka-ct-1424-drop-fractional-seconds
- dev-martinj-ct-1361-default-value-for-null-conversion-in-bq
- dev-martinj-db-import-export-terraform-fix
- dev-martinj-fix-phpstan
- dev-odin-KAB-312
- dev-zajca-big-256
- dev-zajca-ct-1642
- dev-zajca-fix-distinct-on-nonnative-tables-2
- dev-zajca-fix-wrong-tests
- dev-jirka-ct-1331-add-protobuf-for-table-info-in-preview
- dev-zajca-ct-1301
- dev-jirka-ct-1271-add-alter-command
- dev-jirka-1271-new-command
- dev-CT-1169-put-column-definition-endpoint
- dev-erik-metadata-backend
- dev-BIG-208-create-table-definition-sql-injection
- dev-jirka-big-193-convert-load-exception
- dev-zajca-tag.php
- dev-CT-905-dont-run-build-if-create-tag-on-master-branch
- dev-adamvyborny-CM-727-php-datatypes-oracle
- dev-backup-cache
- dev-martin-GCP-445
- dev-martin-build-ecr
- dev-zajca-big-185
- dev-jirka-big-167-too-many-requests-exception
- dev-big-160-update-common
- dev-zajca-big-169
- dev-zajca-big-171
- dev-zajca-big-170
- dev-zajca-ct-1128-1
- dev-big-153-runtime-options
- dev-big-160
- dev-revert-84-zajca-ct-1118
- dev-zajca-ct-1118
- dev-zajca-ct-1118-no-bc
- dev-BIG-126-external-buckets-2
- dev-BIG-126-external-buckets
- dev-big-153-roman-improve-type-hint
- dev-zajca-BIG-155-ASCII
- dev-zajca-BIG-157
- dev-zajca-new-err-code
- dev-zajca-big-142
- dev-CM-569-ondra
- dev-disable-td
- dev-jirka-ct-1084-add-table-type-bq-td
- dev-jirka-ct-910-external-tables
- dev-jirka-ct-924-re-enable-exasol-start-stop
- dev-zajca-CT-666-snflk-null
- dev-zajca-fix-zero-length
- dev-zajca-kbc-1003
- dev-php81
- dev-CT-950-ignore_timestamp
- dev-CT-843-null-import
- dev-PST-631_SNFLK-add-missing-types
- dev-ct-835-fixx-export-null
- dev-ct-843-fix-numeric-value-is-empty-string
- dev-roman-add-release-phase
- dev-roman-finish-release
- dev-TER-94-abs
- dev-TER-78-filters-export
- dev-mj-teradata-platform
- dev-zajca-temporal
This package is auto-updated.
Last update: 2024-10-25 11:29:41 UTC
README
Keboola high level common storage backend driver
Setup AWS credentials
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
# bucket is needed for import/export tests
AWS_S3_BUCKET=
AWS_REGION=eu-central-1
Build docker images
docker compose build
Xdebug
To run with xdebug use dev-xdebug
container instead of dev
Generate protobuf code
docker compose run --rm dev composer protobuf
Generate protobuf documentation
Documentation will be placed in docs
folder. Check documentation for more options.
docker run --rm \ -v $(pwd)/docs:/out \ -v $(pwd)/proto:/protos \ pseudomuto/protoc-gen-doc
Tests
Run tests with following command.
docker compose run --rm dev composer tests
To run separate tests first generate testing protobuf classes
docker compose run --rm dev composer protobufTests
To disable retry copy phpunit-retry.xml.dist
cp phpunit-retry.xml.dist phpunit-retry.xml
Debug queries
To debug queries executed during test set DEBUG=1 env variable
Code quality check
#run all bellow but not tests docker compose run --rm dev composer check #phplint docker compose run --rm dev composer phplint #phpcs docker compose run --rm dev composer phpcs #phpcbf docker compose run --rm dev composer phpcbf #phpstan docker compose run --rm dev composer phpstan
Full CI workflow
This command will run all checks and run tests
docker compose run --rm dev composer ci
License
MIT licensed, see LICENSE file.