婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

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

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

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

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

首先,你需要激活Postgres的擴(kuò)展插件‘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來進(jìn)行替換:

 

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

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


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

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

這會創(chuàng)建一個放置UUID的列,但這個UUID不會自動生成。你不得不在Rails中用SecureRandom來生成它。但是,我們認(rèn)為這是一個典型的數(shù)據(jù)庫職責(zé)行為。值得慶幸的是,add_column中的缺省選項會幫我們實現(xiàn)這種行為:

 

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

現(xiàn)在,UUID能被自動創(chuàng)建了。同理也適用于已有記錄!

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

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用Ruby on Rails和PostgreSQL自動生成UUID的教程》,本文關(guān)鍵詞  使用,Ruby,Rails,和,PostgreSQL,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用Ruby on Rails和PostgreSQL自動生成UUID的教程》相關(guān)的同類信息!
  • 本頁收集關(guān)于使用Ruby on Rails和PostgreSQL自動生成UUID的教程的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 大竹县| 淳安县| 临西县| 卢湾区| 和田市| 墨竹工卡县| 新密市| 渑池县| 开封市| 阿克陶县| 临澧县| 舟曲县| 吴忠市| 新平| 甘洛县| 木里| 剑川县| 平塘县| 潼关县| 尤溪县| 新田县| 广南县| 申扎县| 夹江县| 霍城县| 蒙自县| 西贡区| 宁化县| 依兰县| 怀仁县| 庄河市| 丰原市| 乐清市| 体育| 柯坪县| 普格县| 宜兰县| 赫章县| 乌兰县| 城固县| 武陟县|