Database for production ACE cloud addon

Hello everyone
For development of ACE cloud addon I am using the memory database:

“store”: {

        "adapter": "sequelize",

        "dialect": "sqlite3",

        "logging": false,

        "type": "memory"

    }

},

For production and Marketplace selling, should we use the same memory database for storing client information, or another databases? if yes, what kind of databases are recommended and are there many changes to the configuration?
Thank you

Hi @Ivana1,

Absolutely not! If you ever restart your server (e.g. because of an update) you will lose all of your data and render your app unusable for customers. In production you’ll need to have a proper database.

How you exactly want to do that depends on your own expertise and preferences. A pretty easy way to get everything set up and running is to use a service like heroku. If you want to have more control you can build your infrastructure on top of a cloud provider like AWS, Microsoft Azure or Google Cloud.

Cheers,
Sven

3 Likes

Thank you @sven.schatter
Can I use MongoDB with mongoose, and if I want to test it on development environment, besides the changes in the config.json file for the section store, and in store index.js file, are there any other changes that should be done in the configuration?

Hi @Ivana1,

Unfortunately I’m personally not using ACE / Express. You should probably raise a separate thread if you have questions about how to use ACE with MongoDB. But if with the changes you did installation of apps works fine and you can verify that customer data ends up correctly in your MongoDB then that sounds like you should be good.

Cheers,
Sven

@Ivana1 have you considered writing a Forge app instead? The storage layer for forge is closer to MongoDB than Postgresql

Yes I considered Forge also as an option, but Forge doesn’t support some modules that I need for developing my addon, like configurePage module.

I am using Sqlite database for client info persistence on Production, works like a charm - it is a single file in the root of app.

1 Like