Dev and test environments

Can you share with me your ideas on how to work with multiple environments and be able to push new module/page/workflow definitions from one to another without missing the already created data? Few things that I am wondering about:

  • is it good enough to use different namespaces on the same Corteza instance or is it better to have separate instances for dev and prod
  • can you propagate changes by simply using import/export, some CLI scripts or any other methods
2 Likes

Hmm, we don’t really have a “good practice” flow for this, but what we usually see/do:

  • actual development is done on a staging server (completely new instance)
  • when staging is stable, a DB dump is imported into the production DB

You could probably have some setup by leveraging provisioning (export modified resources and push them to your prod. instance as provision files) but the above usually does the trick for us (for now).

I’ll think about this for a bit when I find some time to see if I can peace together some proper docs.

1 Like

I am new to Corteza; and I’m too looking for best practices way to promote applications (namespaces) up from DEV → TEST/STAGING → PROD; all three are different instances. I have worked extensively in the Appian platform and I was searching for Corteza documented method relating promoting changes from DEV through PROD instances, as I am planning on standing up several Corteza instances. Please advise. Thank you.

Hello @tjerman
Do I understand correctly that only a DB dump with data is possible from TEST to PROD instance? So all productive data is lost?

I can’t imagine running a professional platform without a way to push schema changes to a productive instance. How do you do it on Planet Crust?

I’ve tried many with export & import of namespaces and modules. But I always get errors that the alias is not unique. For me that means you can’t update existing namespaces/modules via export/import. Is this right? If yes, why? Workaround available?

Hello Corteza Team
Is it possible to get an answer to the open questions?

This point is very important for me (and i think for everyone developing in professional environments). If there is no solution, best practice or workaround to update module/page/workflow/namespace without loosing productive user-data, its a BLOCKER (SHOW STOPPER) and i cant use this platform.

I really want to use this platform for many small to big projects for my customers in Switzerland, Germany and Austria. This platform seams to be smart and very flexible. And, the important point, its open source and free. For some years I am using a proprietary Product and I want to replace it with Corteza.

Seems it is hard topic. Arek, Lars can You contact me by FB or Linkedin, maybe we will find some solution together.

Regards
Rafal Pawlik, PAWFORM

What has worked for me is:

  • schema of data is relatively simple
  • sql queries identify which module & associated definitions to move across (essential module definition and field definition)
  • records are simple to move across in same way, using simple select/insert
  • workflows is workflow table and triggers table
  • assumption - you don’t change your id’s between environments, otherwise more work to update the ids

Have tried json export and import, but its a bit fragile.

Have successfully moved modules, users, workflows, etc this way.

2 Likes