Ale*_*pov 6 ruby migration ruby-on-rails database-indexes rails-postgresql
在我的schema.rb中,我有以下行:
add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree
Run Code Online (Sandbox Code Playgroud)
当我\di在psql中运行时,我得到:
Schema | Name | Type | Owner | Table
--------+--------------------------------------------------------------+-------+-------+-----------------------
public | index_users_on_email | index | alex | users
Run Code Online (Sandbox Code Playgroud)
但是,如果我在迁移中包含以下内容之一:
我收到以下错误:
rake aborted!
An error has occurred, this and all later migrations canceled:
Index name 'index_users_on_email' on table 'users' does not exist
Run Code Online (Sandbox Code Playgroud)
我也发现了这个问题.那么任何想法?
我知道这很晚才到,但我遇到了类似的事情.在尝试删除索引之前,您是否有可能重命名为"电子邮件"列?如果是这样,通过重命名列,索引将被删除.所以订单必须是:
1)删除索引2)重命名列
如果要按名称删除索引,可以这样写:
remove_index(:table_name, :name => 'index_name')
Run Code Online (Sandbox Code Playgroud)
你也应该看一下这个问题:Rails 3.1.0迁移中remove_index的正确语法是什么?
| 归档时间: |
|
| 查看次数: |
5256 次 |
| 最近记录: |