Nervatura

Upgrade to v6.*

Overview

The Nervatura v6 is a major upgrade that includes many new features and improvements. The entire codebase has been refactored. The new codebase is now almost entirely Golang-based, which has radically reduced its size, complexity and external dependencies. The main changes are:

  • New hybrid database object model
  • New/refactored CLI (command line interface) API
  • New/refactored CGO (C shared library) API
  • New/refactored HTTP OPEN API (REST) API
  • New/refactored gRPC API API
  • New MCP built-in server for LLM integration and AI-powered data processing
  • Replaced web component based Client application with a new server-side Nervatura Client graphical user interface
  • Added a separate Report Editor extension for creating and editing PDF report templates
  • New/rewritten dependency-free static documentation and built-in (version-based) help pages

CLI upgrade commands

Before upgrading the database, be sure to create a database backup. Not only the alias name of the database, but also its connection can be specified:
-o {"alias": "demo", "NT_ALIAS_DEMO": "sqlite://file:data/demo.db?cache=shared&mode=rwc"}"

Docker example

docker exec -i nervatura /nervatura -c upgrade -o "{\"alias\":\"demo\"}"

Snap example

sudo /snap/nervatura/current/nervatura -c upgrade -o "{\"alias\":\"demo\"}"

Windows example

& "C:\Program Files\Nervatura\nervatura.exe" -c upgrade -o '{\"alias\":\"demo\"}'

Node.js NPM example

./node_modules/nervatura/bin/nervatura -c upgrade -o '{\"alias\":\"demo\"}'

Important release notes

The following data will not be transferred:

  • only one barcode per product (product meta)
  • only the value data of the old meta data (fieldvalue), the notes data is lost
  • log, report, printqueue and user password data are not transferred

The new version currently supports the following database types: SQLite, PostgreSQL, MySQL. The MSSQL support has been built into the code, but the default build currently does not include the MSSQL database driver and not supported yet.

User password

After the database upgrade, the admin user password will be reset to the default password. The default admin password is the value of the NT_API_KEY environment variable. Please change after the first login!

Other user passwords will not be transferred and the user login will be disabled. You can reset the user password using the CLI reset password command.

./nervatura -c reset -o '{\"alias\":\"demo\", \"code\":\"USR0000000000N2\"}'

Other alternative API commands to reset the user password are:

Report upgrade

The structure of the previous Nervatura PDF and CSV reports has not changed and is basically compatible with the new versions. The problem is caused by the queries embedded in the reports, which are not compatible with the new database structure. Therefore, the reports cannot be upgraded automatically.

Suggested solution:

  • Install the new report template using the Nervatura Client Settings -> REPORT TEMPLATE menu
  • Create a new report template from the installed report template and edit it using the Report Editor extension

Alternative option:

  • Log in to the previous version of Nervatura Client (v5) and select Setting -> DATABASE -> REPORT EDITOR.
  • Select the custom template and then export it using the JSON EXPORT menu.
  • Download the new version report templates.
  • Select the appropriate type for your template (for example ntr_invoice_en.json) and replace the sources and meta sections of your custom template.
  • Change the report_key, report_name, and description fields. It is possible that some labels fields or data references in the template will also need to be modified.
  • Set the NT_REPORT_DIR environment variable to the path of the custom template directory and install it using the new version of the client application.