我正在尝试使用 Rails 迁移从我的表中删除一些属性,我创建了迁移文件并编写了以下代码:
class RemoveCompanySendReportAttributes < ActiveRecord::Migration[5.1]
def change
remove_colmun :companies, :time_limit_for_sending_report, :integer
remove_column :companies, :automatically_send_report, :boolean
end
end
它不起作用,这是我终端中的错误:
Please register a mime type using
register_mime_type
then useregister_compressor
orregister_transformer
. https://github.com/rails/sprockets/blob/master/guides/extending_sprockets.md#supporting-all-versions-of-sprockets-in-processors (called from block in at /home/sa7noun/altagem-project/web/config/initializers/haml.rb:24) == 20180412151847 RemoveCompanySendReportAttributes: migrating ================ -- remove_colmun(:companies, :time_limit_for_sending_report, :integer) rake aborted! StandardError: An error has occurred, this and all later migrations canceled:undefined method `remove_colmun' for
最佳答案
第 1 部分
Please register a mime type using register_mime_type then use register_compressor or register_transformer.
这是一个 sprockets
问题,快速修复是
gem 'sprockets', '3.6.3'
但现有的将适用于生产环境。
第 2 部分
remove_column
的迁移错误你写了 remove_colmun
这是错误的类型,这就是原因
undefined method `remove_colmun' for
它将是 remove_column
当你删除一个列时,你不需要提及字段类型,如 integer
或 boolean
或等等...只是简单地
remove_column :companies, :time_limit_for_sending_report
在 Gemfile 中进行任何更新后,请确保运行 bundle install
或 update
关于ruby-on-rails - Rails 迁移 : Remove column from table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49800813/