... против декларативной sqlalchemy?Каковы преимущества использования Elixir
ответ
Можно сказать, что Elixir был создан, потому что SQLAlchemy недостаточно декларативен для некоторых людей.
С Elixir сайта:
Elixir предназначен для замены расширение ActiveMapper SQLAlchemy и TurboEntity проект, но не намерены заменить основные возможности SQLAlchemy, а вместо фокусируется на обеспечение более простой синтаксис для , определяющий объекты модели, когда у вас нет , нужна полная выразительность . Руководство пользователя SQLAlchemy .
Синтаксис Elixir - это то, что я нахожу полезным при создании базы данных для данного приложения с нуля, и все это заранее выяснено.
У меня была лучшая удача с SQLAlchemy при ее использовании на устаревших базах данных (и на других аналогично логически неизменяемых схемах). Особенно полезен плагин SQLSoup для одноразовых вычитаний данных только для чтения, которые готовятся к миграции в другом месте.
YMMV, но Elixir на самом деле не предназначен для адаптации к старым схемам - и SQLAlchemy является излишним для большинства проектов малого и среднего размера (на мой взгляд, конечно).
У меня есть started a list here о практических различиях/преимуществах эликсира и sqlalchmey, но я не знаю, правильны ли мои претензии, потому что мои знания о sqlalchemy очень ограничены (я использую очень небольшую часть эликсира и sqla).
Было бы очень стойким мудро, что ответы показывают пример кода в sqla и эквивалент в эликсире, чтобы показать различия, как в StackOverflow были даны ответы здесь некоторые вопросы сравнения (я думаю о Мако против Jinja2, например)
Во всяком случае, вот мой список, я был бы очень признателен, если бы люди, поправь меня (исправить мои предположения о SQLAlchemy)
Elixir реализует Active Record Pattern и предназначен для замены расширения ActiveMapper SQLAlchemy. (от даты: sqlalchemy догнал?)
Отношения ч/б моделей понятны (эр): OneToMany, ManyToOne, ManyToMany и OneToOne понятнее, чем отношение sqla. С первого взгляда вы можете увидеть отношения b/w ваших моделей.
Inhertience более удобен, чем в sqlalchemys. Это также более заметно, поскольку вы получаете уроки. В sqla вам нужно будет настроить атрибуты_polymorphisme и polymorphic_on.
Inhertience: в elixir, таблицы, столбцы и внешние ключи создаются автоматически, но не в sqlalchemy. (это на 100% верно?)
Elixir автоматически создает столбец ID для всех таблиц (если нет других primary_key не объявлено)
Эликсир создает FK для отношений автоматически, SQL не (?)
В эликсире, большинство раз, вам не нужно указывать backref в ваших отношениях. В sqla, вы всегда должны (?)
Эликсир имеет versionning расширение SQL (не?)
Эликсир имеет ассоциируемый расширение, которое создает ManyToMany отношения и обеспечивает хорошие методы select_by_XXX где ХХХ- имя ассоциированного класса. У Sqla dosen't есть этот вид расширения (?)
Наследование отношений осуществляется прозрачно в Эликсире. В sqla это не так, вы должны это сделать: http://www.sqlalchemy.org/docs/reference/ext/declarative.html#mixing-...)
- 1. Каковы преимущества использования Qt?
- 2. Каковы преимущества использования Generics?
- 3. Каковы преимущества использования scrapyd?
- 4. Каковы преимущества использования WCF?
- 5. Каковы преимущества использования sessionStorage?
- 6. Каковы преимущества использования HQL?
- 7. Каковы преимущества/преимущества использования Python 3?
- 8. Каковы преимущества (преимущества) использования Cassini вместо IIS?
- 9. Каковы преимущества использования enum-flags?
- 10. Каковы преимущества использования студии Android
- 11. Каковы преимущества использования класса приложения?
- 12. Каковы преимущества использования Cross Join?
- 13. Каковы преимущества использования класса MongoCredential?
- 14. Каковы преимущества использования конструктора копирования?
- 15. BindingSource - каковы преимущества использования BindingSource
- 16. Каковы наилучшие преимущества использования Pinax?
- 17. Каковы преимущества использования boost :: any_range?
- 18. Каковы преимущества использования Oracle Designer?
- 19. Каковы преимущества использования javascript-связки?
- 20. Каковы преимущества использования внутренних свойств?
- 21. Каковы преимущества/недостатки использования Maven?
- 22. Каковы преимущества/недостатки использования CTE?
- 23. Каковы преимущества использования находчивых маршрутов?
- 24. Каковы преимущества и недостатки использования Global.asax?
- 25. Каковы преимущества и недостатки использования DLL?
- 26. Каковы преимущества использования fips для JCE?
- 27. Каковы преимущества использования интерфейса в C#?
- 28. Каковы преимущества использования опции «option explict»?
- 29. Каковы преимущества использования WPF над Windows Forms?
- 30. Каковы преимущества использования Tomcat Client Deployer?