Upgrade from 4.32 to 4.33
Linux migration
⚠️ For watchlist synchronization to work, update log stream needs to be regenerated due to new palm quality attribute stored for palms. See section Watchlist synchronization.
For Linux deployment you need to update docker containers, their environment variables and execute database migration.Update images version
When using pre-configured SmartFace deployment from our github, open .env file and the SF_VERSION, so the versions match:
SF_VERSION=v5_4.33.0
AC_VERSION=v5_1.14.0
SFS_VERSION=v5_1.30.0
When directly referencing image, update every path to match version above:
version: "3.4"
services:
sf-base:
image: registry.gitlab.com/innovatrics/smartface/sf-base:v5_4.33.0
container_name: SFBase
command: --serviceName SFBase
ports:
- 2406:2406
restart: unless-stopped
environment:
- RabbitMQ__Hostname
- RabbitMQ__Username
...
Run upgrade scripts
Simply execute run.sh script shipped in our default deployment. In case you have custom deployment where you cannot use our pre-build script, call database upgrade manually. Please replace variables --rmq-* with your current configuration.
For MSSQL execute
docker run --rm --name admin_migration --volume $(pwd)/iengine.lic:/etc/innovatrics/iengine.lic --network sf-network ${SF_ADMIN_IMAGE} \
run-migration \
-p "$(getvalue CameraServicesCount)" \
-c "$(getvalue ConnectionStrings__CoreDbContext)" -dbe $DB_ENGINE \
--tenant-id default \
--rmq-host "$(getvalue RabbitMQ__Hostname)" --rmq-user "$(getvalue RabbitMQ__Username)" --rmq-pass "$(getvalue RabbitMQ__Password)" \
--rmq-virtual-host "$(getvalue RabbitMQ__VirtualHost)" --rmq-port "$(getvalue RabbitMQ__Port)" --rmq-streams-port "$(getvalue RabbitMQ__StreamsPort)" --rmq-use-ssl "$(getvalue RabbitMQ__UseSsl)" \
--dependencies-availability-timeout 120
For PostgreSQL execute
docker run --rm --name admin_migration --volume $(pwd)/iengine.lic:/etc/innovatrics/iengine.lic --network sf-network ${SF_ADMIN_IMAGE} \
run-migration \
-p "$(getvalue CameraServicesCount)" \
-c "$(getvalue ConnectionStrings__CoreDbContext)" -dbe $DB_ENGINE \
--tenant-id default \
--rmq-host "$(getvalue RabbitMQ__Hostname)" --rmq-user "$(getvalue RabbitMQ__Username)" --rmq-pass "$(getvalue RabbitMQ__Password)" \
--rmq-virtual-host "$(getvalue RabbitMQ__VirtualHost)" --rmq-port "$(getvalue RabbitMQ__Port)" --rmq-streams-port "$(getvalue RabbitMQ__StreamsPort)" --rmq-use-ssl "$(getvalue RabbitMQ__UseSsl)" \
--dependencies-availability-timeout 120
Watchlist synchronization
docker run --rm --name admin-stream-gen --network sf-network $(getvalue REGISTRY)sf-admin:$(getvalue SF_VERSION) \
populate-wl-update-log-stream \
-c "$(getvalue ConnectionStrings__CoreDbContext)" \
-dbe $(getvalue Database__DbEngine) \
--rmq-host "$(getvalue RabbitMQ__Hostname)" --rmq-user "$(getvalue RabbitMQ__Username)" --rmq-pass "$(getvalue RabbitMQ__Password)" \
--rmq-virtual-host "$(getvalue RabbitMQ__VirtualHost)" --rmq-port "$(getvalue RabbitMQ__Port)" --rmq-use-ssl "$(getvalue RabbitMQ__UseSsl)" --rmq-streams-port "$(getvalue RabbitMQ__StreamsPort)"