Frage

Soll ich ein handgeschriebenes Schema für projizierte meinen in einer Hochsprache entwickelt (wie Python, Ruby) oder soll ich lasse meine ORM-Lösung es automatisch generieren? Schließlich muss ich ohne sie zu zerstören, alle Daten migrieren. Es ist in Ordnung zu einem bestimmten RDBMS gebunden werden, aber es wäre schön, wenn Funktionen wie Einschränkungen und Verfahren könnten irgendwie unterstützt werden.

War es hilfreich?

Lösung

Ich habe nie mit ORM-generierte Schema gehen.

Ich finde, dass die Art und Weise, in der die ORM will das Schema erzeugen, ist oft auf Gesamtquote mit, wie ich meine Datenbank strukturiert werden soll. Auch, und ich weiß, das ist trivial, das Nomenklaturschema ist in der Regel schlecht.

Datenbankstruktur hat seine eigenen Zwänge, dass ich, dass in der Regel die ORM automatische Generierung Tools berücksichtigen nicht vollständig finden. Und wenn du gehst zu wollen Berichte über Ihre Datenbank ausgeführt werden später (und Sie werden), dann gute Datenbank-Struktur und das Design ist sehr wichtig.

Andere Tipps

Siehe diesem Coding Horror Artikel und Links für Diskussion über diese Migration Sie schließlich tun müssen. Planen Sie es jetzt.

Siehe auch Martin Fowler auf Datenbank Entwicklung ; Ich empfehle vor allem die Vorstellung, dass Testdaten-Erzeugungsteil der Datenbank Set-up ist. Die Idee kann ein wenig unterentwickelt sein, dass es keine klare Abgrenzung der verschiedenen Probleme in verschiedenen Umgebungen ist die Entwicklung im Vergleich zu QA gegenüber der Produktion.

Lassen Sie das ORM das Schema erzeugen sie will. Dann können Sie immer Dinge ändern, die zu langsam sind oder dass Sie anders wollen. Aber es ermöglicht Ihnen, schnell zu beginnen und etwas Arbeits haben plus die ORM Menschen in der Regel wissen, was sie tun, wenn es darum geht, Schemata zu erzeugen.

Lassen Sie Ihre ORM-Lösung es generieren, aber nicht nur blind verwenden; lesen Sie es und geistige Gesundheit überprüft es.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top