Techioz Blog

_存在しますか? Ruby Sequel Activerecord と同等

概要

Ruby Sequelにはcolumn_existsとindex_existsに相当するメソッドがありますか?ドキュメントには何も見つかりませんでした。

db = MyApp::Base.db_base

db.column_exists?(:table, :column)
db.index_exists?(:table, :column)

解決策

Sequel には同じメソッドはありませんが、同じアクションを実行できます。

# column_exists?
db.schema(:table_name).map(&:first).include?(:column_name)
# index_exists?
db.indexes(:table_name).values.map{|x| x[:columns]}.include?([:column_name])