BG Development · За реклама · За контакти | Помощ Търсене Потребители Календар Правила |
Здравей! ( Включване | Регистриране ) |
Страници: (3) [1] 2 3 ( Първото ново мнение ) |
crazy_dog |
Публикувано на: 08-05-2020, 22:12
|
Име: Група: Потребител Ранг: Активен Мнения: 162 Регистриран на: 23.02.12 |
Hibernate много лесно и удобно генерира базата данни от ентититата и връзките между тях. Като крайният резултат в повечето случаи е добър. Но не знам до колко се използва това в по-големи проекти. Дали е добре идея за продукшън или само да се валидират ентититата според съществуващата база? От друга страна писането на база на ръка си е работа, но пък имаш пълен контрол над нещата. Също така какво ви е мнението за migration tool-ове като Flyway? Виждам предимства да можеш да имаш версии на таблиците. Лесно може да мигрираш нови промени по базата и лесно да rollback-ваш, ако нещо се омаже. Но все пак ръчно трябва да пишеш sql скриптовете.
|
Gamma Goblin |
Публикувано на: 08-05-2020, 22:46
|
Име: Група: Потребител Ранг: Почетен член Мнения: 4014 Регистриран на: 21.02.18 |
ние ползваме liquibase & flyway , аз лично предпочитам flyway
ОРМ-а може да изгенерира някакви първоначални таблици, но после ако стане време за промяна на схемата не се справя добре. ако правиш сайт за лютеница - остави ОРМ-а да направи таблиците, в противен случай - db migration tool-a За rollback-a не съм съгласен. Единствения смислен ролбек е връщане от бекъп, освен ако чейнджа ти не е супер изолиран и самостоятелен - примерно нова таблица, която няма връзка с останалите. Няма как да ролбекнеш смислено, ако изтриеш някакви данни, примерно дропнеш колона - да можеш да я направиш отново, но данните вече ги няма |
thrawn |
Публикувано на: 09-05-2020, 06:45
|
Име: Група: Потребител Ранг: Почетен член Мнения: 3695 Регистриран на: 17.01.17 |
Аз даже и за сайт за лютеница не виждам смисъл ОРМ.
|
Gamma Goblin |
Публикувано на: 09-05-2020, 11:34
|
||
Име: Група: Потребител Ранг: Почетен член Мнения: 4014 Регистриран на: 21.02.18 |
по принцип и аз, но някои хора ги е страх от SQL |
||
crazy_dog |
Публикувано на: 09-05-2020, 13:53
|
Име: Група: Потребител Ранг: Активен Мнения: 162 Регистриран на: 23.02.12 |
Да, сега като се замисля, това със rollback-а не е много ок. Особено ако имаш някаква дебела таблица със 20-30 милиона реда. Като цяло и на мен ми допада повече flyway.
Колкото до ОРМ-а, смятам, че много по-лесно се работи със обекти от колкото със SQL. Особено ако се работи от няколко човека. Разбира се и двата подхода имат плюсове и минуси. |
Gamma Goblin |
Публикувано на: 09-05-2020, 16:26
|
Име: Група: Потребител Ранг: Почетен член Мнения: 4014 Регистриран на: 21.02.18 |
дявола е в детайлите
Релационният модел от далеч прилича на обектния, но реално нямат нищо общо. |
stewie |
Публикувано на: 09-05-2020, 17:39
|
Име: Група: Потребител Ранг: Почетен член Мнения: 7350 Регистриран на: 14.07.16 |
ОРМ-а е голям лукс, позлвайте си го докато можете. Не съм пипал поне 4 години този лукс, понеже нямам релация между обектите на ниво база
|
thrawn |
Публикувано на: 09-05-2020, 17:53
|
Име: Група: Потребител Ранг: Почетен член Мнения: 3695 Регистриран на: 17.01.17 |
Ами така и трябва да бъде. Директното мапване на обектите към базата данни е наивно решение. Базите данни съхраняват данни а предоставят информация (структурирани / систематизирани данни). Единствено, при много прости неща можеш да имаш директна релация между данните и информацията. Но пък тогава не си струва абстракцията на ОРМ.
|
akrachev |
Публикувано на: 10-05-2020, 08:48
|
||
Име: акрачев Група: Потребител Ранг: Почетен член Мнения: 1129 Регистриран на: 27.11.09 |
Тогава защо толкова го рекламират този DbContext ? -------------------- |
||
Stilgar |
Публикувано на: 10-05-2020, 11:19
|
Име: Група: Потребител Ранг: Почетен член Мнения: 13172 Регистриран на: 13.05.08 |
Аз винаги съм смятал, че базата е най-важното нещо, а кода е няква подробност затова си пиша базата на ръка. Обаче миграциите са кяр. В .NET най-популярният migration tool е част от най-популярния ORM дето аз без това го ползвам така че се чудя дали да не почна да го ползвам. Ползвал съм го на един проект, работеше много по-добре отколкото очаквах но там проектът имаше много други проблеми и още не съм сигурен кои бяха от миграциите кои от друго.
-------------------- Опитахме се да го направим както трябва, но стана както винаги.
|
Страници: (3) [1] 2 3 |