人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Ruby On Rails(3.0.5)についてお聞きします。

DBにMySQLを採用して、modelを実装したいと思っています。
modelを作成する際に、下記コマンドのようにモデル名の後にフィールド名:データ型を指定していくとおもいます。

rails generate model card name:string price:integer display:boolean

このように指定するデータ型に、enumやsetなどのMySQL特有のデータ型を指定することはできないのでしょうか?また、smallintやmediumblobといった型を指定することは可能ですか?
購入した書籍にも、入門書的な位置づけのWEBサイトにもStringやinteger、dateなどのデータ型については掲載しているのですが、その他の型についての記載がありません。

rails3でenumやsetをデータ型として指定する方法や、rails generate model コマンドで指定できるデータ型の一覧表を掲載しているサイトなどをご教示いただけましたら幸いです。

●質問者: hardboiled243
●カテゴリ:コンピュータ インターネット
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● a-kuma3
●40ポイント ベストアンサー

rails generate model コマンドで指定できるデータ型の一覧

マニュアルを当たるのが、王道です。

http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/TableDefinition.html#method-i-column

:primary_key, :string, :text, :integer, :float, :decimal, :datetime, :timestamp, :time, :date, :binary, :boolean.


enumやsetをデータ型として指定する方法

http://stackoverflow.com/questions/1137796/how-to-generate-a-model-with-a-enum-type-field

適当な型を指定して、validation を定義して範囲を絞れ、と言ってるようです。

You could just use a string and then add validation on the model like this:

validates_inclusion_of :sex, :in => %w( m f )


2 ● zonoise
●40ポイント

rails generate model コマンドで指定できるデータ型の一覧

http://guides.rubyonrails.org/migrations.html から引用

:primary_key

:string

:text

:integer

:float

:decimal

:datetime

:timestamp

:time

:date

:binary

:boolean

Migrationファイルで直接SQLを使用するにはここが参考になるかも

http://api.rubyonrails.org/classes/ActiveRecord/Migration.html から引用

And sometimes you need to do something in SQL not abstracted directly by migrations:

class MakeJoinUnique < ActiveRecord::Migration

def up

execute "ALTER TABLE `pages_linked_pages` ADD UNIQUE `page_id_linked_page_id` (`page_id`,`linked_page_id`)"

end

def down

execute "ALTER TABLE `pages_linked_pages` DROP INDEX `page_id_linked_page_id`"

end

end


3 ● じゅぴたー
●20ポイント

できません。

RDBMS依存になったらRailsを適用する意味が無くなりますので。


MySQLのデータ型とRailsクラスのアタッチについては「続・RubyOnRails を使ってみる」が参考になります。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ