我的用户表登录列是字符串类型,限制为40个字符。现在我计划将限制增加到55个字符。任何一个请让我知道我们如何可以增加这个限制使用ROR迁移。谢了,斯拉万
yizd12fk1#
class YourMigration < ActiveRecord::Migration def up change_column :users, :login, :string, :limit => 55 end def down change_column :users, :login, :string, :limit => 40 end end
字符串
cgvd09ve2#
class YourMigration < ActiveRecord::Migration def change change_column :users, :login, :string, :limit => 55 end end
pwuypxnk3#
增加字符限制后,假设您插入了一些超过40个字符的数据。现在运行db:rollback,一些现有数据不适合40个字符:
db:rollback
为了避免这个问题,我增加了up中的限制,但不改变down中的任何内容。
up
down
class FixUsersLogin < ActiveRecord::Migration def up change_column :users, :login, :string, limit: 55 end def down # do nothing in rollback end end
3条答案
按热度按时间yizd12fk1#
字符串
cgvd09ve2#
字符串
pwuypxnk3#
增加字符限制后,假设您插入了一些超过40个字符的数据。
现在运行
db:rollback
,一些现有数据不适合40个字符:为了避免这个问题,我增加了
up
中的限制,但不改变down
中的任何内容。字符串