[Rails 4.x] DB(MySQL, Postgres, SQLite3) に配列を挿入する
seed_fuを利用して、データをDBに入れたいのですが、配列データを挿入したくなりました。
Hogeというテーブルのchildrenというカラムに配列をいれたいという感じです。
DBのカラムのデータ型をtextにする
マイグレーションファイルをいじります。
db/migrate/*_create_hoge.rb
class CreateHoge < ActiveRecord::Migration
def change
create_table :hoge do |t|
t.text :children
t.timestamps
end
end
end
モデルで serialize を設定
配列を挿入したいカラム(属性)にserializeメソッドを適応させる用に設定する。
app/models/hoge.rb
class Hoge < ActiveRecord::Base
serialize :children
end
参考
余談
seed_fuで入れる
私はseedデータを入れるのが目的だったので、入れてみました。
db/fixtures/hoges.rb
Hoge.seed do |s|
s.id = 1
s.children = [1,2] # 1,2 と書いても配列が入りました(このへんはまだ曖昧です...)
rake db:seed_fu
Author And Source
この問題について([Rails 4.x] DB(MySQL, Postgres, SQLite3) に配列を挿入する), 我々は、より多くの情報をここで見つけました https://qiita.com/colorrabbit/items/429acf37ffd0f7c6fec0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .