Arena node/express/Postgres service implementation
The package is published on npmjs (and also on GitHub Packages). No authentication or additional registry configuration is needed:
yarn add @openforis/arena-serveror
npm install @openforis/arena-serverIts dependency
@openforis/arena-coreis also fetched from npmjs.
To install from GitHub Packages instead, authenticate with a personal access token (scope read:packages) and map the scope to that registry in .npmrc:
@openforis:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=TOKENTo install local database:
sudo docker run -d --name arena-db -p 5444:5432 -e POSTGRES_DB=arena -e POSTGRES_PASSWORD=arena -e POSTGRES_USER=arena postgis/postgis:17-3.5To restart local database:
docker container restart arena-dbThe .env file is needed for development and locally running the stack.
It must be added to the root directory of the project and must match the template .env.template.
Migrations are run automatically on server startup.
When you need execute DDL or other update update logic (e.g. to add a new table to the database, dbtable), create a migration template with:
yarn dbmigrate:create --name=add-table-dbtableNow you'll see new sql files in src/db/dbMigrator/migration/<schema>/migrations/sql/<timestamp>-add-table-dbtable-<up/down>.sql
You should edit the <timestamp>-add-table-dbtable-up.sql to contain your DDL statements.
You could also add the corresponding drop table to <timestamp>-add-table-dbtable-down.sql if you ever want to undo migrations.
By default, migrations are applied to the public schema; if you need to update the survey schema, pass --schema=survey as parameter. E.g.
yarn dbmigrate:create --name=add-table-to-survey-schema-db-table --schema=survey