Skip to content

chore: remove deprecated ORM generators (DataMapper, MongoMapper, CouchRest, Ripple)#2320

Merged
nesquena merged 2 commits into
masterfrom
achiurizo-remove-deprecated-orms
Mar 30, 2026
Merged

chore: remove deprecated ORM generators (DataMapper, MongoMapper, CouchRest, Ripple)#2320
nesquena merged 2 commits into
masterfrom
achiurizo-remove-deprecated-orms

Conversation

@achiurizo
Copy link
Copy Markdown
Member

@achiurizo achiurizo commented Mar 29, 2026

  • Remove generator support for four unmaintained ORMs: DataMapper, MongoMapper, CouchRest, and Ripple
  • DataMapper: officially deprecated, succeeded by ROM/Sequel
  • MongoMapper: repo archived, last release 2020
  • Ripple (Riak): last release 2014
  • CouchRest: minimal maintenance, last meaningful release years ago

What changed

  • Deleted ORM generator components, rake tasks, and admin account templates (9 files)
  • Removed ORM-specific branches from admin generator helpers (orm.rb, actions.rb, admin_app.rb)
  • Removed DataMapper IdentityMap middleware insertion from admin generator
  • Updated admin template index pages to reflect supported ORMs
  • Removed all related tests, updated generic tests to use sequel instead
  • Updated README ORM listing and removed stale DM rake task references

Remaining supported ORMs: ActiveRecord, MiniRecord, Mongoid, Sequel, Ohm, Mongomatic, Dynamoid

Copilot AI review requested due to automatic review settings March 29, 2026 22:53
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Removes generator and admin scaffolding support for four deprecated/unmaintained ORMs (DataMapper, MongoMapper, CouchRest, Ripple) across padrino-gen and padrino-admin, and updates tests/docs/templates accordingly.

Changes:

  • Deleted ORM-specific generator components and rake tasks for DataMapper, MongoMapper, CouchRest, and Ripple.
  • Simplified admin generator ORM handling to the remaining supported adapters and removed DataMapper middleware insertion.
  • Updated tests and documentation to stop referencing removed ORMs (generally switching fixtures/tests to Sequel).

Reviewed changes

Copilot reviewed 26 out of 26 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
padrino-helpers/test/fixtures/apps/.components Updates fixture to use :orm: none instead of DataMapper.
padrino-gen/test/test_project_generator.rb Switches tests from DataMapper to Sequel; removes removed-ORM test cases.
padrino-gen/test/test_model_generator.rb Switches setup ORM to Sequel and removes removed-ORM model generator coverage.
padrino-gen/test/test_migration_generator.rb Removes DataMapper migration generator tests; keeps Sequel path.
padrino-gen/lib/padrino-gen/padrino-tasks/mongomapper.rb Deletes MongoMapper rake tasks.
padrino-gen/lib/padrino-gen/padrino-tasks/datamapper.rb Deletes DataMapper rake tasks.
padrino-gen/lib/padrino-gen/generators/components/orms/ripple.rb Deletes Ripple ORM generator component.
padrino-gen/lib/padrino-gen/generators/components/orms/mongomapper.rb Deletes MongoMapper ORM generator component.
padrino-gen/lib/padrino-gen/generators/components/orms/datamapper.rb Deletes DataMapper ORM generator component (incl. IdentityMap middleware template).
padrino-gen/lib/padrino-gen/generators/components/orms/couchrest.rb Deletes CouchRest ORM generator component.
padrino-gen/lib/padrino-gen/generators/actions.rb Generalizes inline docs/example away from DataMapper.
padrino-gen/README.rdoc Updates example and supported ORM list to remove deprecated ORMs.
padrino-core/lib/padrino-core/loader.rb Generalizes inline docs/example away from DataMapper.
padrino-admin/test/generators/test_admin_app_generator.rb Updates generator tests to use Sequel; removes DataMapper-specific middleware expectations.
padrino-admin/test/generators/test_account_model_generator.rb Removes account template tests for removed ORMs.
padrino-admin/lib/padrino-admin/generators/templates/slim/app/base/index.slim.tt Updates admin landing tooltip ORM list to remove deprecated ORMs.
padrino-admin/lib/padrino-admin/generators/templates/haml/app/base/index.haml.tt Updates admin landing tooltip ORM list to remove deprecated ORMs.
padrino-admin/lib/padrino-admin/generators/templates/erb/app/base/index.erb.tt Updates admin landing tooltip ORM list to remove deprecated ORMs.
padrino-admin/lib/padrino-admin/generators/templates/account/mongomapper.rb.tt Deletes MongoMapper account model template.
padrino-admin/lib/padrino-admin/generators/templates/account/datamapper.rb.tt Deletes DataMapper account model template.
padrino-admin/lib/padrino-admin/generators/templates/account/couchrest.rb.tt Deletes CouchRest account model template.
padrino-admin/lib/padrino-admin/generators/orm.rb Removes removed-ORM branches and helpers from admin ORM abstraction.
padrino-admin/lib/padrino-admin/generators/admin_app.rb Removes DataMapper IdentityMap middleware insertion; updates DB instructions list.
padrino-admin/lib/padrino-admin/generators/actions.rb Updates supported ORM list to drop removed adapters.
padrino-admin/lib/padrino-admin.rb Updates module-level feature blurb to reflect current ORM support.
padrino-admin/README.rdoc Updates documented supported ORM list.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

div class="base-icons"
div class="btn-group"
div class="btn btn-primary" title="Adapters for datamapper, sequel, activerecord, minirecord, mongomapper, mongoid, couchrest" = tag_icon("cogs fa-2x", "Orm Agnostic")
div class="btn btn-primary" title="Adapters for sequel, activerecord, minirecord, mongoid" = tag_icon("cogs fa-2x", "Orm Agnostic")
Copy link

Copilot AI Mar 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The admin landing page tooltip lists supported ORMs, but it omits ohm and dynamoid, which are still supported by the admin generator. Update the title text to include all supported adapters (or make it generic) to avoid misleading users.

Suggested change
div class="btn btn-primary" title="Adapters for sequel, activerecord, minirecord, mongoid" = tag_icon("cogs fa-2x", "Orm Agnostic")
div class="btn btn-primary" title="Adapters for sequel, activerecord, minirecord, mongoid, ohm, dynamoid" = tag_icon("cogs fa-2x", "Orm Agnostic")

Copilot uses AI. Check for mistakes.
.base-icons
.btn-group
.btn.btn-primary{title: 'Adapters for datamapper, sequel, activerecord, minirecord, mongomapper, mongoid, couchrest'}
.btn.btn-primary{title: 'Adapters for sequel, activerecord, minirecord, mongoid'}
Copy link

Copilot AI Mar 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The tooltip text here lists supported ORMs but does not include ohm and dynamoid, which are in the current supported ORM list for the admin generator. Please update the list (or reword to avoid enumerating adapters) so the UI text stays accurate.

Suggested change
.btn.btn-primary{title: 'Adapters for sequel, activerecord, minirecord, mongoid'}
.btn.btn-primary{title: 'Adapters for multiple ORMs and data stores'}

Copilot uses AI. Check for mistakes.
<div class=base-icons>
<div class=btn-group>
<div class="btn btn-primary" title="Adapters for datamapper, sequel, activerecord, minirecord, mongomapper, mongoid, couchrest"><%%= tag_icon("cogs fa-2x", "Orm Agnostic") %></div>
<div class="btn btn-primary" title="Adapters for sequel, activerecord, minirecord, mongoid"><%%= tag_icon("cogs fa-2x", "Orm Agnostic") %></div>
Copy link

Copilot AI Mar 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This tooltip enumerates supported ORMs but omits ohm and dynamoid, which are still supported by the admin generator. Update the title attribute to reflect the full supported set (or avoid hard-coding a list) so users aren’t misled.

Suggested change
<div class="btn btn-primary" title="Adapters for sequel, activerecord, minirecord, mongoid"><%%= tag_icon("cogs fa-2x", "Orm Agnostic") %></div>
<div class="btn btn-primary" title="Adapters for multiple Ruby ORMs"><%%= tag_icon("cogs fa-2x", "Orm Agnostic") %></div>

Copilot uses AI. Check for mistakes.
Comment thread padrino-admin/README.rdoc Outdated
Comment on lines 7 to 10
Orm Agnostic:: Data Adapters for Activerecord, Sequel, Mongoid, Ohm, Dynamoid
Template Agnostic:: Erb, Erubis and Haml Renderer
Authentication:: Support for Account authentication, Account Permission management
Scaffold:: You can simply create a new "admin interface" by providing a Model
Copy link

Copilot AI Mar 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This ORM list is missing MiniRecord, which is still supported by the admin generator. Also, further down this README still references DataMapper-specific rake tasks (e.g., dm:migrate, dm:auto:migrate); those instructions should be updated/removed now that DataMapper support is being removed.

Copilot uses AI. Check for mistakes.
Comment thread padrino-gen/README.rdoc
mock:: none (default), mocha, rr
script:: none (default), jquery, prototype, mootools, extcore, dojo
orm:: none (default), datamapper, mongomapper, mongoid, activerecord, minirecord, sequel, couchrest, ohm, mongomatic, ripple, dynamoid
orm:: none (default), mongoid, activerecord, minirecord, sequel, ohm, mongomatic, dynamoid
Copy link

Copilot AI Mar 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR description lists the “remaining supported ORMs” but doesn’t mention mongomatic, while this README still documents mongomatic as supported (and the generator still exists). Please align the PR description and documentation: either include mongomatic in the supported list or remove/flag its generator support.

Copilot uses AI. Check for mistakes.
@nesquena
Copy link
Copy Markdown
Member

Tested locally on Ruby 3.3.1 — all 1,412 tests pass (5,236 assertions, 0 failures) across all 9 sub-gems.

Reviewed the full diff (26 files, +29/-1011 lines). Clean removal — no remaining references to the 4 removed ORMs in any .rb source files. Tests properly updated to use Sequel where they previously used DataMapper/CouchRest.

Minor note (non-blocking, pre-existing): mongomatic is still listed as a supported ORM in padrino-gen's README but has no admin account template and isn't in the admin's supported_orm list. This predates this PR — just flagging for awareness since it might be a candidate for the same treatment.

Otherwise, LGTM ✅ Merging

@nesquena nesquena merged commit 167044f into master Mar 30, 2026
8 checks passed
@nesquena nesquena deleted the achiurizo-remove-deprecated-orms branch March 30, 2026 00:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants