• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >ruby > 使用Ruby on Rails和PostgreSQL自动生成UUID的教程

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

作者:goldensun 字体:[增加 减小] 来源:互联网

goldensun 通过本文主要向大家介绍了ruby on rails,ruby on rails教程,ruby rails,ruby on rails安装,ruby on rails下载等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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
</div>

你可以用UUID作为一个ID来进行替换:

 

create_table :translations, id: :uuid do |t|
 t.string :title
 t.timestamps
end
</div>

在此例中,翻译表会把一个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
</div>

这会创建一个放置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
</div>

现在,UUID能被自动创建了。同理也适用于已有记录!

</div>

您可能想查找下面的文章:

  • Rails bundle命令安装mysql gem包出错的解决方法
  • win7安装ruby on rails开发环境
  • 简单对比分析Ruby on Rails 和 Laravel
  • 在 Ubuntu 12.04 Server 上安装部署 Ruby on Rails 应用
  • 快速正确的安装 Ruby, Rails 运行环境
  • Windows下Ruby on Rails开发环境安装配置图文教程
  • Ruby On Rails中如何避免N+1问题
  • 艰难完成 nginx + puma 部署 rails 4的详细记录
  • 浅谈Rails 4 中Strong Parameters机制
  • Rails命令行常用操作命令简明总结

相关文章

  • Ruby中的字符串编写示例
  • Ruby中的数组和散列表的使用详解
  • 冒泡排序算法及Ruby版的简单实现
  • 详解Ruby中的代码块对象Proc
  • ruby和pig处理流式文件实例
  • Ruby面向对象编程中类与方法的基础学习
  • 深入理解Ruby中的block概念
  • Ruby中使用连续体Continuation实现生成器
  • Ruby实现的各种排序算法
  • Ruby中Hash哈希结构的基本操作方法小结

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Ruby设计模式编程中对外观模式的应用实例分析
    • Ruby中的数组和散列表的使用详解
    • Ruby on Rails实现最基本的用户注册和登录功能的教程
    • Ruby编写HTML脚本替换小程序的实例分享
    • 使用Ruby re模块创建复杂的正则表达式
    • Ruby简明教程之判断语句介绍
    • Windows下ruby语言安装教程
    • ruby 异常处理:ensure
    • 深入理解Ruby on Rails中的缓存机制
    • ruby 变量

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有