I I'm using Git and the APEX Deployment Tool , so I very rarely lose code because I effortlessly export any changes and commit them right away. Mostly, I'm on the other side, breaking the code of others, those who still live in the stone age and keep everything only in the database. A friend of mine, Rafal , wrote about a great tool called Loki based on APEX. It might be a bit heavy, and I also have some customers who really don't want an APEX app to manage object locking. So here is mine lightweight implementation. All you need is: schema level DDL trigger CORE_LOCKSMITH table CORE_LOCKS to manage the locks small CORE_LOCK package to not have code in the trigger and for the extra actions (like extending or releasing the locks) Simple process you want to edit package, so you open it and compile it (right away, not after you work on it for half day) this will trigger the DDL event which will be catched by our AFTER DDL schema level trigger ...
O One of the most underrated things is checking the state of your database and APEX apps. You deploy things to Prod, nothing crashes (so far), so you move on. This is a strategy I've seen on many projects: no unit tests, barely some random user tests, and that's it. On top of that, in some projects I don't even have access to UAT. I only have access to Dev, but I somehow still have to make things work, even without read-only access anywhere else. So, how would you check things in a place where you don't have any access? Fortunately, I can at least send emails. So today, it's about the first email. What to check? The backend side contains mostly things for developers, like errors, logs, and security issues, or just to see what changed or what is different. Each link will take you to the source code of the appropriate view (because views are awesome: they keep the package readable and your reports flexible, since you can add your own views or remove the ones...