Should I use a hand-written schema for my projected developed in a high-level language (such as Python, Ruby) or should I let my ORM solution auto-generate it? Eventually I will need to migrate without destroying all the data. It’s okay to be tied to a specific RDBMS but it would be nice if features such as constraints and procedures could be supported somehow.
Should I use a hand-written schema for my projected developed in a high-level language
Share
I never go with ORM-generated schema.
I find that the ways in which the ORM wants to generate the schema are often at total odds with how I want my database to be structured. Also, and I know this is trivial, the nomenclature scheme is usually poor.
Database structure has its own constraints, that I find that usually the ORM autogeneration tools don’t consider fully. And if you’re going to be wanting to run reports on your database later (and you will), then having good database structure and design is very important.