校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 使用Ruby on Rails和PostgreSQL自動生成UUID的教程

使用Ruby on Rails和PostgreSQL自動生成UUID的教程

熱門標簽:百度地圖標注自定義圖片 滴滴外呼系統 地圖標注賺錢項目注冊 常德電銷平臺外呼系統軟件價格 高德地圖標注客服 電銷機器人廠商代理 白銀外呼paas系統 湖州u友防封電銷卡 徐州網絡外呼系統哪個好

Rails 4 能原生態的支持Postgres 中的UUID(Universally Unique Identifier,可通用的唯一標識符)類型。在此,我將向你描述如何在不用手工修改任何Rails代碼的情況下,用它來生成UUID。

首先,你需要激活Postgres的擴展插件‘uuid-ossp':
 

class CreateUuidPsqlExtension  ActiveRecord::Migration
 def self.up
  execute "CREATE EXTENSION \"uuid-ossp\";"
 end
 
 def self.down
  execute "DROP EXTENSION \"uuid-ossp\";"
 end
end

你可以用UUID作為一個ID來進行替換:

 

create_table :translations, id: :uuid do |t|
 t.string :title
 t.timestamps
end

在此例中,翻譯表會把一個UUID作為ID來自動生成它。Postgresq的uuid-ossp擴展插件所用算法和生成UUID的算法是不同的。Rails 4缺省使用的是v4算法. 你可以在這里: http://www.postgresql.org/docs/current/static/uuid-ossp.html 看到更多有關這些算法的細節。


然而,有時候你不想用UUID作為ID來進行替換。那么,你可以另起一列來放置它:
 

class AddUuidToModelsThatNeedIt  ActiveRecord::Migration
 def up
  add_column :translations, :uuid, :uuid
 end
 
 def down
  remove_column :invoices, :uuid
 end
end

這會創建一個放置UUID的列,但這個UUID不會自動生成。你不得不在Rails中用SecureRandom來生成它。但是,我們認為這是一個典型的數據庫職責行為。值得慶幸的是,add_column中的缺省選項會幫我們實現這種行為:

 

class AddUuidToModelsThatNeedIt  ActiveRecord::Migration
 def up
  add_column :translations, :uuid, :uuid, :default => "uuid_generate_v4()"
 end
 
 def down
  remove_column :invoices, :uuid
 end
end

現在,UUID能被自動創建了。同理也適用于已有記錄!

您可能感興趣的文章:
  • 詳細講解PostgreSQL中的全文搜索的用法
  • 使用Bucardo5實現PostgreSQL的主數據庫復制
  • 在PostgreSQL的基礎上創建一個MongoDB的副本的教程
  • 在PostgreSQL中使用數組時值得注意的一些地方
  • 在PostgreSQL中使用日期類型時一些需要注意的地方
  • 一個提升PostgreSQL性能的小技巧
  • 在PostgreSQL中實現遞歸查詢的教程
  • 在PostgreSQL上安裝并使用擴展模塊的教程
  • 介紹PostgreSQL中的范圍類型特性
  • 深入解讀PostgreSQL中的序列及其相關函數的用法

標簽:梧州 遼寧 永州 公主嶺 普洱 荊門 三沙 張家界

巨人網絡通訊聲明:本文標題《使用Ruby on Rails和PostgreSQL自動生成UUID的教程》,本文關鍵詞  使用,Ruby,Rails,和,PostgreSQL,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用Ruby on Rails和PostgreSQL自動生成UUID的教程》相關的同類信息!
  • 本頁收集關于使用Ruby on Rails和PostgreSQL自動生成UUID的教程的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 东明县| 汪清县| 福清市| 仙桃市| 北票市| 扶沟县| 维西| 方山县| 阿坝县| 财经| 阿克苏市| 泰兴市| 定兴县| 广州市| 山阳县| 晋江市| 佛坪县| 张掖市| 德清县| 汕头市| 昔阳县| 阿城市| 葫芦岛市| 新竹县| 元氏县| 金乡县| 泉州市| 和顺县| 安宁市| 永胜县| 泉州市| 南木林县| 磴口县| 改则县| 托克逊县| 科尔| 建瓯市| 上林县| 双辽市| 班戈县| 金门县|