在Rails Migration中,文本数据类型的限制不会改变



我试图改变我的文本字段description的大小限制。当我运行迁移时,它可以正常工作,但不能反映模式中的更改。Rb或数据库表。我能在Rails中不限制这种数据类型吗?我也使用SQL Server作为我的数据库技术。由于

class AddModifiersToAlerts < ActiveRecord::Migration
  def up
    remove_index :alerts, :letter
    change_column :alerts, :letter, :string, :limit => 1
    change_column :alerts, :type, :string, :limit => 35
    change_column :alerts, :description, :text, :limit => 15000
    add_index :alerts, :letter
  end
  def down
    remove_index :alerts, :letter
    change_column :alerts, :letter, :string, :limit => 4000
    change_column :alerts, :type, :string, :limit => 4000
    change_column :alerts, :description, :text, :limit => 2147483647
    add_index :alerts, :letter
  end
end

我想你可能想选择varchar_max或简单的text,没有限制。看来你想要那块场地的最大存储空间。(2 ^还有)。我很确定varchar(max)会帮你做到这一点。另外,TEXT也被弃用了。(https://msdn.microsoft.com/en-us/library/ms187993.aspx)

从SQL server activerecord适配器,varchar_max: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter#native-data-type-support

最新更新