Ahoy gem 不舒服地填充了我的数据库,所以我想卸载它。显然,gem 卸载 ahoy-matey。但之后宝石仍然存在,以及所有模型等。我怎样才能从我的应用程序中删除它的存在,而不破坏应用程序?
1 回答
我将对您的应用程序做出一些假设来回答这个问题。如果此答案不适用于您,请随时提供其他信息。
gem uninstall ahoy-matey
不会为您的应用程序做任何事情,因为 gem 被称为ahoy_matey
. 卸载 gem 需要gem uninstall ahoy_matey
.
即使这样,这对您的应用程序也没有影响。Rails 应用程序使用 bundler 通过 来管理 gem Gemfile
,因此从应用程序中删除 gem 需要编辑Gemfile
以删除对 的引用ahoy_matey
,然后运行bundle install
以更新 gem。
但这仍然不会将其从您的应用程序中删除。我假设您使用的是标准的 git 工作流程,并且在安装 ahoy 之前,您正在从一个干净的分支工作,没有未提交的更改,并且在安装和配置 ahoy 之后,您提交了所有这些更改。您需要返回到您的 git 提交历史记录以查看对您的应用程序进行了哪些更改并开始撤消它们。
查看安装说明,您可能必须运行以下命令:
rails generate ahoy:install
rails db:migrate
生成器将为您创建几个模型、一个初始化程序和一个数据库迁移。删除这些并不像“只删除文件”那么简单。您将需要编写迁移以从数据库中删除这些表,同时维护数据库的迁移历史记录。弄清楚要删除哪些表需要查看 gem 添加的原始迁移做了什么。
编写并运行迁移后,您可以删除任何由 gem 创建的模型和初始化程序。最后,您可以运行应用程序的测试套件,以确保应用程序在启动之前正常运行并验证它是否按您期望的方式运行。