繁体   English   中英

Rails迁移以删除字段

[英]Rails migration to remove field

您好,我将尝试在具有:title和:description的技能数据库上运行Rails迁移。 我需要删除描述字段,并且我假设它看起来像这样:

rails migration remove_column :skills, :description

在尝试之前,我会一直由您的专业人员运行,并最终导致意外损坏。 如果我对从数据库中删除说明字段有正确的想法,请告诉我。 非常感谢!

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

class RemoveDescriptionFromSkills < ActiveRecord::Migration
  def change
    remove_column :skills, :description
  end
end

然后在终端中输入rake db:migrate ,该列将被删除。

有关更多信息,请查看此有用的Stack Overflow帖子: https : //stackoverflow.com/a/1992045/3723769

注意:此答案旨在描述如何执行迁移。 为了安全起见,在迁移之前,您应该按照Michael Durrant的建议进行操作: https : //stackoverflow.com/a/25006727/3723769

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

  • 检查现有值以查看是否需要任何数据
  • 查看是否存在也应删除的索引。
  • 在应用程序中搜索该字段名称
  • 查看是否存在现有的Rails迁移,您可以使用该迁移来进行更改

最后,我将考虑按正常方式创建一个change迁移,即实际添加一个字段,然后使用down语法运行它以删除该字段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM