首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Ruby on Rails 開發實戰(四十一):ActiveRecord 基礎 - 儲存結構化資料

     編輯:Java 相關知識

ActiveRecord 支援將任意 Ruby 物件序列化為 YAML 字串儲存於 text 欄位。

資料表定義

create table purchases (
  id int not null auto_increment,
  name varchar(100) not null,
  last_five text,
  primary key (id)
);

模型宣告

class Purchase < ActiveRecord::Base
  serialize :last_five
end

使用範例

purchase = Purchase.new
purchase.name = "Dave Thomas"
purchase.last_five = ['shoes', 'shirt', 'socks', 'ski mask', 'shorts']
purchase.save

purchase = Purchase.find_by_name("Dave Thomas")
pp purchase.last_five      # => ["shoes", "shirt", "socks", "ski mask", "shorts"]
pp purchase.last_five[3]   # => "ski mask"

注意事項

  • 序列化資料難以用 SQL 查詢、篩選
  • 非 Ruby 專案難以解析 YAML
  • 需查詢/索引的結構化資料,建議使用聚合或正規化表設計
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved