Ruby on rails Rails迁移以删除字段

Ruby on rails Rails迁移以删除字段,ruby-on-rails,migration,Ruby On Rails,Migration,您好,我将尝试在一个包含:title和:description的技能数据库上运行rails迁移。我需要删除description字段,我假设它看起来像这样: rails migration remove_column :skills, :description 在我尝试它并最终在事故中破坏某些东西之前,我正在由你们专业人士运行它。请让我知道我是否有从数据库中删除描述字段的正确想法。非常感谢 如果skills是表的名称,description是要删除的列的名称,则可以在终端中键入rails g

您好,我将尝试在一个包含:title和:description的技能数据库上运行rails迁移。我需要删除description字段,我假设它看起来像这样:

rails migration remove_column :skills, :description
在我尝试它并最终在事故中破坏某些东西之前,我正在由你们专业人士运行它。请让我知道我是否有从数据库中删除描述字段的正确想法。非常感谢

如果skills是表的名称,description是要删除的列的名称,则可以在终端中键入rails g migration RemoveDescriptionFromSkills。这将生成一个名为[timestamp]_remove_description_的迁移文件,该文件来自位于db/migrate中的_skills.rb。编辑此文件,使其包含以下内容:

class RemoveDescriptionFromSkills < ActiveRecord::Migration
  def change
    remove_column :skills, :description
  end
end
然后在终端中键入rake db:migrate,该列将被删除

有关详细信息,请查看以下有用的堆栈溢出帖子:


注意:此答案旨在描述如何执行迁移。作为一项安全措施,在迁移之前,您应该按照Michael Durrant的建议执行:。

以下是一些需要注意的事项:-

检查现有值以查看是否有需要的数据 查看是否存在也应删除的索引。 在应用程序中搜索该字段名 查看是否有现有的rails迁移,您可以使用它来完成更改
<>最后,我会考虑创建一个正常的迁移迁移,即一个ACTULLY添加字段,然后我用下面的语法来运行它来删除字段。rails有时使后端任务变得如此简单=再次感谢Stefan!