迁移-如何向已填充的表添加唯一约束?

ktecyv1j  于 2021-06-24  发布在  Mysql
关注(0)|答案(0)|浏览(229)

我有一个technologies表,它在production中只包含name和timestamps列,但是现在我需要将它用作designe模型。

class Technician < ActiveRecord::Base
    validates_presence_of   :name
    validates_uniqueness_of :name
 end

使用 'rails generate devise technician' 带我到一个迁移的所有必要的,使我的技术人员模型设计模型。

class AddDeviseToTechnicians < ActiveRecord::Migration
  def change
    change_table(:technicians) do |t|
      ## Database authenticatable
      t.string :email,              null: false, default: ""
      t.string :encrypted_password, null: false, default: ""
    end
  end
end

但我不能迁移,因为电子邮件是 unique: true '列,也不要放下我的表。我该怎么办?
我正在考虑将每个技师的电子邮件字段设置为: name_attribute + "@email.com" ,但最好的方法是什么?我用的是mysql数据库。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题