Подтвердить что ты не робот

Может ли DataMapper использоваться для Rails?

Я хочу использовать более разделенную систему для своих моделей в проекте Ruby on Rails. Похоже, решение было DataMapper. Тем не менее, я вижу, что ни один из их репозиториев не был обновлен в прошлом году, а когда он установлен в проекте Rails 4, он имеет конфликты зависимости версии gem с новыми Gems. Поиск не приводит к контенту при использовании Rails 4.

Каково сейчас его состояние? Должен ли я использовать его или что-то еще?

4b9b3361

Ответ 1

Как и каждый, кто использует DataMapper каждый день на моей работе, я рекомендую придерживаться ActiveRecord, если вы не подключаетесь к устаревшей базе данных, в которой вы не контролируете схему (но я бы также рассмотрел Sequel, если это так). Помимо того факта, что это EOL (как поддерживающий указанный в списке рассылки), многие драгоценные камни, которым требуется постоянство модели, будут поддерживать ActiveRecord, но это очень редко что они будут поддерживать DataMapper, поэтому рассчитывайте реализовать поддержку самостоятельно. По моему опыту, если я нахожу ошибку, я знаю, что мне тоже придется ее исправить из-за низкого использования/отказа от DataMapper.

Как упоминалось в danmanstx, разработчики в основном сосредоточены на Ruby Object Mapper (ROM), который раньше был DM2. Хотя некоторые фрагменты ПЗУ являются полнофункциональными, у него по-прежнему нет даты выхода AFAIK (см. через драгоценные камни DataMapper, многие из которых старше 2 лет, которые просто не будут рассмотрены, потому что там просто aren 'достаточно помощников DataMapper (и я не виню их за то, что они хотят работать над чем-то новым!).

Вы правы в отношении последних версий RubyGems из DM-камней, имеющих конфликты версий. Если вы хотите использовать последнюю стабильную версию DM, я бы посоветовал использовать ветвь release-1.2 для драгоценных камней DM, например,

gem 'dm-core', git: 'git://github.com/datamapper/dm-core.git', branch: 'release-1.2'

Ответ 2

Вы действительно должны взглянуть на Sequel, если вы рассматриваете DataMapper, FWIW, я буду уходить из ActiveRecord в Sequel.

Однако, если вам нравится самоуверенная идеология Rails, вы не должны смотреть дальше, чем ActiveRecord, для наименьшего трения.

Без неуважения к тяжелой работе сообщества Rails и разработчиков, но после рассмотрения эволюции областей, условий ассоциации, отношений с ассоциациями, вложенных атрибутов, инициализации записи, строковых заказов, строк поиска, хэшей и isl, неспособность легко выражать и составлять запросы легко или повторно использовать области действия, проверять связанные с ними ошибки модели, порождать странную связь с дочерними ассоциациями, плохую документацию, и ни одна из них не сглаживается вместе, вы тоже можете перейти к четко продуманному ORM, Sequel.

Аналогичным образом вы можете взглянуть на идеологию Rails (беззастенчиво упрямый) и подумать о том, что может подойти лучше, если вы предпочитаете выбор и концептуально более чистый подход в современной веб-среде. Rails 4 был последним hoorah для меня, привет Sinatra/Padrino/Sequel, Postgres/Redis/Solr и Backbone/Marionette/Eco/Coffeescript... моя упрямая структура веб-разработки:)

Ответ 3

В моей работе мы столкнулись с множеством проблем с DataMapper. В конце концов после долгих исследований и обсуждения с разработчиками я понял, что это тупиковый проект. Я документировал причины, по которым мы решили отказаться от него:

http://opensourceame.com/why-we-abandoned-ruby-datamapper/

Ответ 4

DataMapper был изменен на DataMapper2, а затем изменен на mapper-объект ruby.

его можно найти здесь https://github.com/rom-rb/rom

Ответ 5

Существует еще один камень для развязки DataMapper в Ruby. Он назывался Datamappify.

Другие интересные проекты находятся в стадии разработки и нуждаются в помощи: Virtus, rom-rb и Продолжение (уже упоминалось в этой теме).

Важно, чтобы рубисты изучали и пытались использовать другой подход к программному обеспечению с Ruby. У нас есть Padrino.rb, Grape, Rack и т.д.