When using a “Create Object” Action, is it possible to configure an incrementing primary key? That is, each new objects primary key is the most recently created object's primary key +1.
Possible to have a Create Object Action with an auto-incrementing primary key?
419 Views Asked by kevpl541991 At
1
There are 1 best solutions below
Related Questions in PALANTIR-FOUNDRY
- core.logic CLP(FD) with ClojureScript
- clojure worker-only app on heroku fails with Error R10
- How do persistent data structures help make Om faster
- Union in HoneySQL
- Reduce memory consumption in development
- twitter response: "error 32: Could not authenticate you" from Heroku, but not desktop
- How can I create a global object, and attach a string and a function to that object, in ClojureScript?
- AngularJS $http GET method to backend server: Request Method:OPTIONS 405
- Clojure : event listener on domina library
- Why is my streamparse topology definition complaining about a wrong number of arguments to thrift$mk-topology?
Related Questions in FOUNDRY-ACTIONS
- core.logic CLP(FD) with ClojureScript
- clojure worker-only app on heroku fails with Error R10
- How do persistent data structures help make Om faster
- Union in HoneySQL
- Reduce memory consumption in development
- twitter response: "error 32: Could not authenticate you" from Heroku, but not desktop
- How can I create a global object, and attach a string and a function to that object, in ClojureScript?
- AngularJS $http GET method to backend server: Request Method:OPTIONS 405
- Clojure : event listener on domina library
- Why is my streamparse topology definition complaining about a wrong number of arguments to thrift$mk-topology?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
It is possible to configure an incrementing number based on the current highest value found in existing objects. However, I would not recommend using an incrementing integer as your primary key for the object.
Generating an auto-incrementing integer
There are two approaches to generating an auto-incrementing number. Both involve writing a custom Function to create the object within the Action. Within the Function, you can either:
This is a useful pattern to leverage in many workflows, such as ticketing applications.
Choosing a Primary Key
As a best practice, primary keys should not be coupled to semantically meaningful information about an object. Your primary key should not contain information that is relevant to user workflows. For example, in a ticketing workflow, ticket number formats may change. Updating the value of primary keys is an unnecessary amount of work, while updating the value of a typical string or integer column is feasible.
Therefore, it's recommended that primary keys are uniquely generated UUIDs stored in string columns (ex:
ticket_id
), while auto-incrementing numbers are stored in column(s) named after what the number represents (ex:ticket_number
).Generating a UUID
The best practice for generating primary keys when creating new objects via Actions is to create a UUID String.
When using the Create Object rule inside of an Action, you can specify the typeclass
actions::generate_uuid
on the parameter to generate a random UUID every time the Action is submitted.To do this inside of a Function-backed Action, you can follow the Functions documentation on adding a dependency. For uuid package, this means adding the following to your package.json:
If you use newer versions of the uuid package it will fail to execute in Functions because of a feature removed in the library here.
After doing this, make sure to click the small banner in the package.json editor window that allows you to get packages from public npm. By default this is disabled.
Then in your code you can add something like: