限制Rails迁移中的文本数据类型不会更改

时间:2015-10-07 18:09:00

标签: ruby-on-rails ruby-on-rails-4 activerecord migration

我正在尝试更改文本字段description的大小限制。当我运行迁移时,它工作正常,但没有反映schema.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

1 个答案:

答案 0 :(得分:0)

我认为您可能想要选择varchar_max或简单text而无限制。您希望在该字段上获得最大存储空间。 (2 ^ 31-1)。我很确定varchar(max)会为你做什么。此外,TEXT已被弃用。 (https://msdn.microsoft.com/en-us/library/ms187993.aspx

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