users というテーブルに定義されているカラム情報を取得する方法のメモ。使うAPI: Ruby on Rails API columns()
テーブル名からモデルクラスを参照し、それに.columnsメソッドを使うと取得できる。
# テーブル名から、定義されているすべてのカラム定義を取得
Module.const_get('users'.classify).columns
# 特定のカラムの情報を取得(例えば `id`)
Module.const_get('users'.classify).columns['id']
# 特定のカラムから定義の一部を取得
col = Module.const_get('users'.classify).columns['id']
col.type # データ型を取得
カラムの定義の取得はこんなメソッドが用意されているっぽい。
コレで全てかはわからんとです… (´・ω・`)
- .name: カラム名
- .sql_type: SQLでのデータ型
- .type: データ型
- .null: NOT NULL制約
- .limit: カラム数制限(?)
- .precision: 数値桁数
- .scale: 小数点以下桁数
- .default: デフォルト値
- .primary: Primary制約
- .coder: ??
 
0 件のコメント:
コメントを投稿