{"record":{"id":"f83dd0c0aea2f4a4","repo":"padrino/padrino-framework","slug":"at-the-moment-padrino-only-supports-supporte","errorCode":null,"errorMessage":"<= At the moment, Padrino only supports #{supported_orm.join(' or ')}. Sorry!","messagePattern":"<= At the moment, Padrino only supports #(.+?)\\. Sorry!","errorType":"console","errorClass":"SystemExit","httpStatus":null,"severity":"error","filePath":"padrino-admin/lib/padrino-admin/generators/admin_app.rb","lineNumber":45,"sourceCode":"      end\n\n      desc \"Description:\\n\\n\\tpadrino-gen admin generates a new Padrino Admin application\"\n\n      class_option :skip_migration, type: :boolean, aliases: '-s', default: false\n      class_option :root,           type: :string,  aliases: '-r', default: '.',       desc: 'The root destination'\n      class_option :destroy,        type: :boolean, aliases: '-d', default: false\n      class_option :renderer,       type: :string,  aliases: '-e',                     desc: 'Rendering engine (erb, haml, slim)'\n      class_option :admin_model,    type: :string,  aliases: '-m', default: 'Account', desc: 'The name of model for access controlling'\n      class_option :admin_name,     type: :string,  aliases: '-a', default: 'admin',   desc: 'The admin application name and path'\n      # class_option :models_path,     desc: 'The models destination path', default: '.', type: :string\n\n      # Copies over the Padrino base admin application.\n      def create_admin\n        self.destination_root = options[:root]\n        if in_app_root?\n          unless supported_orm.include?(orm)\n            say \"<= At the moment, Padrino only supports #{supported_orm.join(' or ')}. Sorry!\", :yellow\n            raise SystemExit\n          end\n\n          tmp_ext = options[:renderer] || fetch_component_choice(:renderer)\n          unless supported_ext.include?(tmp_ext.to_sym)\n            say \"<= You are using '#{tmp_ext}' and for admin we only support '#{supported_ext.join(', ')}'. Please use #{supported_ext.map { |ext| \"-e #{ext}\" }.join(' or ')}\", :yellow\n            raise SystemExit\n          end\n\n          # Get the app's namespace.\n          @app_name = fetch_app_name\n\n          # setup admin app name\n          @admin_name = options[:admin_name].classify\n          @admin_path = options[:admin_name].underscore\n\n          store_component_choice(:admin_renderer, tmp_ext)\n\n          self.behavior = :revoke if options[:destroy]","sourceCodeStart":27,"sourceCodeEnd":63,"githubUrl":"https://github.com/padrino/padrino-framework/blob/167044f3d56b2bce12f943eb826fdb0b0ea94375/padrino-admin/lib/padrino-admin/generators/admin_app.rb#L27-L63","documentation":"The admin generator (padrino-gen admin) aborts unless the project's ORM component is one of minirecord, activerecord, mongoid, sequel, ohm or dynamoid (Padrino::Generators::Admin::Actions#supported_orm). It prints this yellow notice with say and then raises SystemExit, so nothing is generated. Notably DataMapper — supported by older Padrino versions — is rejected here.","triggerScenarios":"Running `padrino g admin` in an app whose .components selects an unsupported orm (datamapper, or a typo like datamaper); generating the project with `padrino-gen project myapp -d datamapper` and then asking for an admin section.","commonSituations":"Upgrading a legacy DataMapper app to a Padrino version that dropped admin support for it; hand-edited .components with a typo; choosing an ORM the project generator offers but the admin generator does not.","solutions":["Edit .components at the project root and switch the orm line to a supported value (activerecord is the safest), then re-run `padrino g admin`","Fix typos — the value must be exactly one of minirecord/activerecord/mongoid/sequel/ohm/dynamoid","If you must keep the unsupported ORM, build the admin section by hand or use another admin layer — this generator cannot emit code for it"],"exampleFix":"# .components before\norm: datamapper\n\n# .components after\norm: activerecord\n# then: bundle exec padrino g admin","handlingStrategy":"validation","validationCode":"supported = %i[minirecord activerecord mongoid sequel ohm dynamoid]\nchoice = File.read('.components')[/^orm:\\s*(.+)/, 1].to_s.strip.to_sym\nabort \"unsupported orm #{choice}; admin needs one of #{supported.join('/')}\" unless supported.include?(choice)","typeGuard":"def admin_supported_orm?(orm) = %i[minirecord activerecord mongoid sequel ohm dynamoid].include?(orm.to_sym)","tryCatchPattern":"begin\n  Padrino::Generators::AdminApp.start([])\nrescue SystemExit\n  # generator printed the yellow notice and aborted; fix .components first\nend","preventionTips":["Before choosing an ORM for an app that will need an admin section, check the admin generator's supported list","Keep .components machine-written (via project generator flags) rather than hand-edited","After a Padrino upgrade, diff the supported_orm list — adapters get dropped (e.g. datamapper)"],"tags":["padrino-admin","generator","orm","cli","scaffolding"],"backgroundTag":"unsupported-backend-adapter","analyzedSha":"167044f3d56b2bce12f943eb826fdb0b0ea94375","analyzedAt":"2026-08-23T12:41:41.049Z","schemaVersion":2},"datasetVersion":"2026-08-23T16:17:53.355Z"}