`
wootaw
  • 浏览: 773 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

rails中字符串主键的实现

阅读更多
一个遗留系统中id为字符串,RAILS好像不能使用非整数主键,我的做法:

create_table :mytable, :id => false do |t|
  t.string :id, :limit => 16, :null => false
      ...
end
    
add_index :mytable, :id, :name => "mytable_id_index", :unique => true 


model中:
class MyTable < ActiveRecord::Base
  set_primary_key "id"
  ...
end


这样就可以实现字符串主键同样的效果,各位评评
分享到:
评论
2 楼 lgn21st 2009-03-01  
回复楼主,这个就是ActiveRecord提供的对非id主键的解决方案阿...
比较好奇的是,除了这个方法,难道还有其他可能?
1 楼 amonlei 2009-03-01  
你郁闷了,用rails做bi。。。。rails的弱项

相关推荐

    Agile Web Development with Rails中文版 3rd Edition

    **16.4 字符串扩展** 探讨了如何通过ActiveSupport扩展String类。 **16.5 数值的扩展** 讲解了如何通过ActiveSupport扩展数字类。 **16.6 时间和日期的扩展** 介绍了如何扩展Time和Date类,以更好地处理时间戳...

    Web开发敏捷之道-应用Rails进行敏捷Web开发-第三版.rar

    16.4 字符串扩展 206 16.5 数值的扩展 208 16.6 时间和日期的扩展 208 16.7 Ruby符号的扩展 210 16.8 with_options 211 16.9 Unicode支持 211 第17章 数据迁移 215 17.1 创建和运行迁移任务 216 17.2 剖析迁移任务 ...

    SubSonic 用户手册

    - **数据库连接字符串**:配置应用程序使用的数据库连接字符串。 - **构建提供者配置**:SubSonic 通过构建提供者自动生成相关的类文件。 - **构建提供者定义**:在 Web.config 文件中定义 SubSonic 的构建提供者...

    Web开发敏捷之道第三版(中文版).pdf

    - **字符串扩展**:介绍ActiveSupport提供的字符串操作方法。 - **数值的扩展**:说明如何利用ActiveSupport对数字类型进行增强。 - **时间和日期的扩展**:讲解ActiveSupport如何帮助处理时间和日期。 - **Ruby符号...

    W5D5:W5D5 Classwork-Rails ActiveRecord查询

    - 使用`where`方法时,可以使用哈希、字符串、范围等多种方式指定条件。 - `exists?`: 检查是否存在满足条件的记录。 四、动态Finder ActiveRecord还提供了一些预定义的动态查找方法,如`find_by`和`find_by!`,...

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

    请注意,使用UUID作为主键或额外字段有一些潜在的影响,比如UUID字符串比整数更长,可能会影响存储效率和URL友好性。同时,由于UUID是无序的,可能会影响查询性能,尤其是在没有索引的情况下进行排序。因此,在决定...

    Castle ActiveRecord快速入门指南、ActiveRecord帮助文档

    - **配置文件**:通常在应用程序的 App.config 或 Web.config 文件中设置 ActiveRecord 的配置,包括数据库连接字符串、数据库类型等。 - **Fluent Configuration**:使用 Fluent API 来配置实体和数据库的映射,...

    keys

    1. **环境变量(Environment Variables)**:Rails应用经常使用环境变量来存储敏感信息,如数据库连接字符串、API密钥等,以避免将这些信息直接写入代码仓库。 2. **Secret Key Base**:在Rails中,为了保证会话...

    Ruby-Autogeneratecode一款命令行数据模型代码生成器

    例如,可以定义字段类型(如字符串、整数、日期等)、字段长度、是否为主键、外键关联以及其他元数据。通过这种方式,`config.gen` 文件使得代码生成更具有灵活性和可扩展性。 Ruby 语言以其简洁、灵活的语法特性,...

    CastleActiveRecord

    5. **配置与初始化**:在项目中,你需要配置NHibernate和CastleActiveRecord,包括数据库连接字符串、映射文件等。这通常通过调用`ActiveRecordSetup.Init()`方法完成。 6. **数据操作**:一旦配置完成,你可以利用...

    originex:在Le Wagon的Bootcamp中开发的活动组织者平台

    1. **Ruby基础知识**:理解Ruby的基本数据类型(如字符串、数组、哈希)、控制结构(如if语句、循环)、类和对象的概念,以及方法定义和调用。 2. **Rails框架**:Rails遵循MVC(Model-View-Controller)架构模式,...

Global site tag (gtag.js) - Google Analytics