如何在Rails中创建一个具有NULLS LAST的索引?

时间:2018-07-06 16:21:02

标签: ruby-on-rails ruby-on-rails-4 database-migration

我读了https://apidock.com/rails/ActiveRecord/ConnectionAdapters/SchemaStatements/add_indexhttp://guides.rubyonrails.org/active_record_migrations.html

我看不到如何创建像这样的索引:

CREATE INDEX ON users (id DESC NULLS LAST);

没有看到有关如何使用NULLS LAST创建索引的文档。

Rails 4.2.10

PostgreSQL

1 个答案:

答案 0 :(得分:2)

我不认为Rails迁移支持索引选项NULLS LAST。您可能需要使用原始SQL。

class ExampleMigration < ActiveRecord::Migration
  def up
    #add custom index
    execute <<-SQL
      CREATE INDEX index_users_on_id_nulls_last ON users (id DESC NULLS LAST);
    SQL
  end

  def down
    execute <<-SQL
      DROP INDEX index_users_on_id_nulls_last;
    SQL
  end
end