Skip to content

ballerina-platform/module-ballerinax-persist.inmemory

Repository files navigation

Ballerina Persist - In-Memory Library

Build codecov Trivy GraalVM Check GitHub Last Commit GitHub Issues

This library provides in-memory tables support for the bal persist feature, which provides functionality to store and query data conveniently through a data model.

The persist command will make it easy to enable bal persist feature in a Ballerina project. With this support, users need not worry about the persistence in a project. Users can define an entity data model, validate the model and generate persist clients for Inmemory tables, which provide convenient APIs to store and query data in a data store.

For more information, see persist.inmemory API Documentation.

Issues and projects

Issues and Projects tabs are disabled for this repository as this is part of the Ballerina standard library. To report bugs, request new features, start new discussions, view project boards, etc. please visit Ballerina standard library parent repository.

This repository only contains the source code for the package.

Building from the source

Set up the prerequisites

  1. Download and install Java SE Development Kit (JDK) version 21 (from one of the following locations).

  2. Download and install Docker

  3. Export your GitHub personal access token with the read package permissions as follows.

     export packageUser=<Username>
     export packagePAT=<Personal access token>
    

Building the source

Execute the commands below to build from source.

  1. To build the library:

     ./gradlew clean build
    
  2. To run the integration tests:

     ./gradlew clean test
    
  3. To build the package without the tests:

     ./gradlew clean build -x test
    
  4. To run only specific tests:

     ./gradlew clean build -Pgroups=<Comma separated groups/test cases>
    

    Tip: The following groups of test cases are available.

Groups Test cases
basic basic
associations associations
one-to-many
composite-keys composite-keys
  1. To disable some specific test groups:

     ./gradlew clean build -Pdisable-groups=<Comma separated groups/test cases>
    
  2. To debug the tests:

     ./gradlew clean build -Pdebug=<port>
     ./gradlew clean test -Pdebug=<port>
    
  3. To debug the package with Ballerina language:

     ./gradlew clean build -PbalJavaDebug=<port>
     ./gradlew clean test -PbalJavaDebug=<port>
    
  4. Publish ZIP artifact to the local .m2 repository:

     ./gradlew clean build publishToMavenLocal
    
  5. Publish the generated artifacts to the local Ballerina central repository:

     ./gradlew clean build -PpublishToLocalCentral=true
    
  6. Publish the generated artifacts to the Ballerina central repository:

    ./gradlew clean build -PpublishToCentral=true
    

Contributing to Ballerina

As an open source project, Ballerina welcomes contributions from the community.

For more information, go to the contribution guidelines.

Code of conduct

All contributors are encouraged to read the Ballerina code of conduct.

Useful links