Ruby/Rails - 从我的应用程序中移除ActiveAdmin

33

我喜欢使用Active Admin这个在我的应用程序中使用的管理框架,玩得很愉快。 http://activeadmin.info/

当我安装它时,运行了

rails g active_admin:install
rake db:migrate
rails g active_admin:resource product

我使用了active_admin,它在我的应用程序中生成了许多迁移和代码。

如果我想回到最初的状态并删除active_admin添加的所有内容,我该怎么做?是否有一个"rails active_admin:uninstall"命令可以一键清除所有内容,还是我必须手动创建迁移来删除所有表格并查找代码以确定它添加了什么?


你使用版本控制吗? - Andrew Grimm
3个回答

44
如果您运行以下代码,它应该会销毁活动的管理员:
rails destroy active_admin:install
rails destroy active_admin:resource product

3
似乎不需要第二行。 - David Tuite
1
另外,请记住,如果您在添加ActiveAdmin时设置了一个“AdminUser”模型,这将销毁它以及您添加的任何方法。 - David Tuite
4
请注意,在“routes.rb”和“schema.rb”文件中可能会留下一些无用的代码。搜索“admin”并注释掉不必要的代码,否则可能会在以后引起错误。 - chech
3
我需要回滚迁移吗? - lngs
同时从你的 gem 文件中删除 gem 'activeadmin',否则下次捆绑时它会再次安装 = ] - rii

29

在终端中运行此命令

rails destroy active_admin:install

从您的gemfile中删除gem 'activeadmin'

如果有任何剩余,请删除js和css文件夹中的资产文件。

从Routes.rb文件中删除这些行中的任何一行。

  devise_for :admin_users, ActiveAdmin::Devise.config
  ActiveAdmin.routes(self)
  ActiveAdmin.routes(self)

然后使用以下命令创建一个新的迁移:

  drop_table :active_admin_comments

您可能还需要:

  drop_table :admin_notes

或者通过在 db/migrate 文件夹中找到相关文件 MoveAdminNotesToCommentsCreateAdminNotes 来回滚迁移。

rake db:migrate:down VERSION=the_version_number
rake db:migrate:down VERSION=the_version_number

1
新的drop迁移比回滚更干净,但感谢您提供这个好答案,一切都在这里 ;) - gfd
1
为了方便大家,我执行了以下命令: rails generate migration drop_active_admin_comments 并修改了迁移文件如下:class DropActiveAdminComments < ActiveRecord::Migration def up drop_table :active_admin_comments end def down raise ActiveRecord::IrreversibleMigration end end最后执行以下命令:bundle exec rake db:migrate这样表和索引就被删除了 ;) - gfd
好的,我只是不知道如何在注释中格式化代码...所以我最终被拒绝了重新编辑我的先前评论 :/ - gfd
2
哦,不要忘记在 rails destroy active_admin:install 完成后从你的 Gemfile 中删除 gem 'active_admin' 条目 ;) - gfd
是的。谢谢。我已经完成了。它现在可以工作了。我卸载了active_admin并重新安装了最新版本。Rails和Windows 7不太兼容 :D - zer02

1
在运行rails destroy active_admin:install后,您还需要删除资产文件夹中所有与active admin相关的活动管理器js和css文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接