我知道我可以touch 移民并添加

add_index :table_name, :column_name, :unique => true

但是,正确的rails迁移命令是如何生成的呢?

rails g migration add_index_to_column_name :column_name, :unique => true

是那么回事吗?

在我的特殊示例中,我有一个表客户

  t.integer :customerID
  t.string :surname
  t.string :first_name
  t.string :phone

A我要将customerID设置为唯一.已try

rails g migration AddIndexToCustomers :customerID, :unique => true 

但是,如果我在此之后查看我的迁移文件,它看起来不太对劲,如下所示:

def change
    add_column :customers, :, :customerID,
    add_column :customers, :, :unique
    add_column :customers, :=, :string
  end

有什么 idea 或建议吗?

推荐答案

从Rails 3.2开始,您可以使用:

 rails g migration add_index_to_table_name column_name:uniq

来自http://guides.rubyonrails.org/3_2_release_notes.html的示例

 rails g scaffold Post title:string:index author:uniq price:decimal{7,2}

对不起.如果不传递,则默认类型为string.你可以自己打字.

column_name:type:uniq

因此,您的示例应该如下所示:

rails g migration add_index_to_customers customerID:integer:uniq

Database相关问答推荐

在多组MongoDB中查找最新文档的有效方法

创建一个spell check,判断具有合理运行时间的数据库

PostgreSQL 参数化 Order By / Limit in table 函数

查询最后一天、上周、上个月SQLite

库存数据库的最佳 struct

通过删除执行计划中的排序运算符来优化 SQL 查询

寻找基于磁盘的类 redis 数据库

Spring 的 JdbcTemplate 是否在查询超时后关闭连接?

锁定机制(悲观/乐观)如何与数据库事务隔离级别相关?

返回 SQLite 数据库中表大小的查询

将 Android Room 数据库与 Firebase 实时数据库相关联

从旧数据 struct 到新数据 struct 的数据迁移

使用 PDO 获取单行单列

在 MySQL 存储过程中使用if和else

MySQL 数据库中列名中的连字符

Django 数据库值的最佳推荐方式是什么?

寻找示例数据库设计的好方法

Oracle 的免费桌面客户端?

从 CSV 文件填充 Android 数据库?

如何处理数据库中用户的身份验证/授权?