We are SaaS too. We started as Single Tenant but are now Public Cloud but in the beginning, we could do a lot of restores. This was fine for EMS but even then, I think I pushed the limit on requests. Also, it worked fine for the first company but for the second implementation we couldn’t do it the same as the first since we had live data already in the database. I would have EMS copy Live to Pilot and then run DMT PowerShell scripts to load data.Copy Live to Pilot and add more records, etc. We started with static files (parts, suppliers, customers, Resource Groups, etc, and then kept adding more until we got the process working from scratch the exact way we want. Don’t make a pet out of your system. Blow it away and start again and again. On launch day, just point to the Live instance and run your well-tested scripts.
If I were to do it again, I would do a more DevOps approach to automate the load. I would start with the Empty Live and copy it to Pilot. This is a very easy operation for SaaS. No backup to keep track of, you just always start with the current state of Live. I envision the copy Live to Pilot becoming an item we’ll be able to do from a portal one day but for now it’s an item on EpicCare. It works just starting out or if you are implementing a new company.
I would take the DMT files and check them into a repository like GitHub. I would then create a build script in in some tool of your choice (Azure DevOps, Jenkins, whatever) and run the same process as mentioned above. The advantage is you’ll have a nice history of your DMT files and you won’t accidentally run things out of order or forget a step. Also, you can actually take code updates along the way and test how they’ll work quite easily.
Even after launch, I would try to keep up with this same process. This has several advantages but from a public company point of view, it demonstrates control of your ERP process. I can make it so I don’t ever have Security Admin privileges! Code/Solutions are checked-in the repo, someone besides me can review and approve, and then have an automated process load it into Live. With a little work on comparing elements of XML files, we could even do nice diffs between current and new versions of the software we get from Epicor twice a year in the new cadence.
This is where I want to go…