How does your team ensure that your database standards are being followed? Naming standards, ensuring certain triggers are present, index/constraint rules, etc. Do you use tools, code reviews, or some other method?<p>I'm finding that this seems to be a harder problem to solve than enforcing other types of coding standards.
Our DB standards are controlled through code, scripts and code reviews. That works fine for smaller teams and is good for us today (we do use DataGrip by JetBrains to help manage/validate our Postgres databases).<p>There are other tools like Red Gate <a href="https://www.red-gate.com/" rel="nofollow">https://www.red-gate.com/</a>, and others who sell tooling that works on different databases which allow you to automate a lot of standards and deployments etc. Even works for things like data migrations etc. I've used red gate and tools like it on other solutions, a lot of it depends on the architecture and structure of your project.<p>For example, tools like Red Gate work great when you have DBA's and developers working together to manage databases (datasets) outside of the application code. It is a more traditional method of data solutions. But as seems to happen in tech, we are back to doing things more from the application and managing structure, migrations and standards through application code. There are valid reasons for both methodologies, so a lot just depends on what you are doing and how your team is structured and how big it is.
I'm using a sort of ORM, and part of that is making casing consistent. Naming conventions are harder to enforce because this often requires the semantic context to be understood.