Replace itemsets file in database


I want to replace itemsets file with updated one, instead of uploading new form I want to update it in database. Where is it stored and how to update it in postgresql.


If you want to update an itemset, take the existing form, increment the form id, then upload that form to Aggregate with the updated itemsets. Then ask your users to download the updated form. If you haven't done this before, try it out with a small form first so you understand the behavior.

Update form version in Aggregate - #2 by crobert is also a useful thread to read.

Changing things at the DB level are a bad idea because it's fragile. But if you still wish to proceed, the database structure is described at

Finally, this question is awfully similar to Database location of itemsets and how to replace with updated dataset. Please try not to post duplicate questions.

Thanks for your response.

As far as form id is concerned I don't want to change the form id as it
will create the whole new table set in database. I want my all data
together in one structure. Also my external choices list is expected to
grow more frequently so it will be difficult to mange multiple form
version. I just want that whole form structure should remain same and only
the csv file be updated.

The database approach is feasible I just want little guidance on how to
replace old csv with new one.

I am extremely sorry for the duplicate as I thought I have posted my first
question in wrong form so I posted it again in developer list so that some
developer could guide me the database access to change the file in database.


I believe you can update your external choices without changing your form ID because it won't result in a database structure change. All you need is to increment your form version. If you have tried this on a small form and it didn't work, please let us know!

If you add/remove a field from a form, that results in a database structure change, so you will need a new form ID. There is currently no way around that. Your best option is to combine the data in your reporting.

Manually editing the database is dangerous. If it seems feasible to you, then that's your call, but I can't offer more guidance than saying it is dangerous and pointing you to the document with the database structure.