ruby的自定义主键
问了许多高手都说 不建议自定义主键 这样写:
create_table :posts , :primary_key => 'userid' do |t|
但是生成的主键仍是自增的ID 和ruby的功能主键一样
后来看到了mysql_adapter.rb这个文件,
....
def native_database_types #:nodoc:
{
:primary_key => "int(11) DEFAULT NULL auto_increment
PRIMARY KEY",
:string => { :name => "varchar", :limit => 255 },
:text => { :name => "text" },
:integer => { :name => "int"},
:float => { :name => "float" },
:decimal => { :name => "decimal" },
:datetime => { :name => "datetime" },
:timestamp => { :name => "datetime" },
:time => { :name => "time" },
:date => { :name => "date" },
:binary => { :name => "blob" },
:boolean => { :name => "tinyint", :limit => 1 }
}
end
...
它的主键都是这样定义好的(所以说不建议你自定义主键)
那也许你有很多问题:如一个用户登陆的userid 之类的怎么办
其实你可以创建索引
add_index "admin", ["userid"], :userid=> "userid", :unique => true
千万不要这样写:
t.string :userid ,:unique => true
这样写不会报错但不会达到预期的效果
你也可以在model层添加这样一句:
validates_uniqueness_of :userid
但是为了安全个人觉得还是在数据表中加上索引还是必须的
分享到:
- 2008-07-15 12:24
- 浏览 5174
- 评论(0)
- 论坛回复 / 浏览 (0 / 2923)
- 查看更多
相关推荐
Ruby on Rails Guides v2 - Ruby on Rails 4.2.5
在这个全球互联的世界中,计算机编程和 Web 应用程序开发都在迅猛发展,我很期待能为中国的开发者提供 Ruby on Rails 培训。学习英语这门世界语言是很重要的,但先通过母语学习往往会更有效果。正因为这样,当看到 ...
Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 ...
Ruby On Rails中文教材(PDF)
Ruby On Rails 框架自它提出之日起就受到广泛关注,在“不要重复自己”,“约定优于配置”等思想的指导下,Rails 带给 Web 开发者的是极高的开发效率。 ActiveRecord 的灵活让你再也不用配置繁琐的 Hibernate 即可...
rails学习的好帮手 有助于初学者学习rails on ruby ,
ruby on rails社区网站开发源码
全书共分17章,主要内容包括:搭建ruby on rails开发平台、ruby语言的基础知识(像控制语句、面向对象、数组和块等)、文件处理、数据库持久化、rails控制器和路由、视图模板以及发送邮件和ajax等。 《ruby on rails ...
除了讲到 Ruby on Rails 之外,涉及到的技术还有 HTML、CSS、数据库、版本控制、测试和部署。为了达成学习目标,本书使用了一个完整的方案:通过实例学习使用 Rails 从零开始创建一个真正的程序。如 Derek Sivers 在...
ruby on rails对mongodb的操作ruby on rails对mongodb的操作ruby on rails对mongodb的操作ruby on rails对mongodb的操作
Ruby On Rails 官方教程,这本书讲解如何使用 Ruby on Rails 框架开发应用,以及如何把应用部署到生成环境。...这本书是《Ruby on Rails Tutorial, Third Edition》的简体中文版,由作者授权翻译和销售。
Ruby on Rails中文指南
Learn Web Development with Rails Clear EPUB version in English, Second Edition “The author is clearly an expert at the Ruby language and the Rails framework, but more than that, he is a working ...
Ruby.on.Rails.Tutorial,Learn.Web.Development.with.Rails,Third.Edition-中文版 文字版.pdf 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!
Learn to build dynamic, interactive web applications using the two most important approaches to web development today: Ajax and the phenomenally efficient Ruby on Rails platform. This book teaches ...
Ajax on Rails 的 PPT。 pdf格式。
ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)
ruby on rails api方便查阅
本书教您如何使用Ruby on Rails开发和部署真正的,具有工业实力的Web应用程序,Ruby on Rails是为诸如Twitter,Hulu,GitHub和Yellow Pages等顶级网站提供支持的开源Web框架。