次のように定義されたMysqlテーブルがあります。
CREATE TABLE `Events` (
`entity` enum('CLN','TDS','TMS','VTMS') NOT NULL DEFAULT 'CLN',
`type` enum('INFO','STAT','WARN') NOT NULL)
RubyでENUM型の列定義が何であるかを見つけるにはどうすればよいですか?
ENUMタイプの列定義を見つけるためのより簡単な方法があると思いましたが、これが私の解決策です。
>> ActiveRecord::Migration.select("show create table Events")
.first.values.to_s
.split("\n")
.select{ |line| line.match(/entity/) }
.pop
.match(/enum\(([',\w]*)/)[1]
.gsub("'",'')
.split(',')
--select( "show create table Events")-> 0.0004s
=> ["CLN"、 "TDS"、 "TMS"、 "VTMS"]