Question
· Jan 31

How to clone a namespace?

Hi community,

We have a developed a new version of a production, all the code is new and has changed BP. This application load information for some brands and stored in database.

The customer wants to implement the changes only for some brands because he wants to check for small brands before to implement for all brands.

My proposal is create a new namespace, with the new code, and disabled all load of brands except the brand that he wants to check.

I'm wondering what is the best way to clone the namespace.

My first attempt is to make a copy of the databases (data and code) of namespace 1, create the new namespace 2 and put the copies of namespace 1 in namespace 2.

For it, I going to use the comands Backup.General.ExternalFreeze() and Backup.General.ExternalThaw() to stop the database and copy the database. is it a good idea?

Is there other way to clone the namespace?

Thanks in advance.

Product version: IRIS 2021.1
$ZV: IRIS for Windows (x86-64) 2021.1.3 (Build 389U) Wed Feb 15 2023 14:50:06 EST
Discussion (2)2
Log in or sign up to continue

Hi Kurro,
if the production stores data that needs to be maintained in the DB, you need to do something more complex (like mapping the data globals in the new NS to the old DB.

If not the safest way to test and also migrate everything is what you are proposing:

  • make a backup of the original DB (freeze/thaw or the iris utility from management portal, restore to different location and keep an eye on NOT SETTING SWITCH 10 during restore https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls... online backup)
  • create a new NS copying from the old one
  • do the mapping accordingly
  • import the upgraded code in the new NS
  • disable all the producion pieces (BO / BP / BS) on the new production
  • disable the production part (brands) that needs to be migrated on the old version
  • enable them on the new version

If something on the new production goes bad, you can easily enable the disabled pieces on the old version, and disable them on the new one.

Pietro