【发布时间】:2016-05-11 12:48:16
【问题描述】:
我有一个包含数据的表,我想添加friendly_id。
我不知道如何构建我的迁移,因为当其中有数据时,我无法使用 :null=>false 创建表。我想做的是让迁移运行 FriendlyId,以便构建 slug 并将其插入数据库。
我目前的迁移如下:
class AddSlugToSite < ActiveRecord::Migration
def up
add_column :site, :slug, :string
change_column_null :site, :slug, false
add_index :site, :slug, :unique => true
end
def down
remove_column :site, :slug, :string
end
end
还有我的模特:
class Site < ActiveRecord::Base
extend FriendlyId
friendly_id :name, :use => :slugged
end
这不起作用,因为当其中已有数据时,Rails 无法创建具有 null=>false 的字段。
我该怎么做?
谢谢
【问题讨论】:
标签: ruby-on-rails rails-migrations friendly-id