新手问题 请问如何在只是用 ActiveRecord 的情况下手动管理主键?

evil850209 · March 28, 2013 · Last by evil850209 replied at April 01, 2013 · 3618 hits

不用 Rails,只是使用 ActiveRecord,能不能实现手动管理主键呢?

如果 Rails,可以在 Migration 文件中添加

create_table :products, :id => false do |t|
  t.string :name, :null => false
end

但我现在不在 Rails 环境下,而且使用的是已有的 Oralce 数据库。只想做一些简单的对 DB 的操作,如何手动维护主键?

class User < ActiveRecord::Base
  self.table_name = 'users'
  self.primary_key = "user_id"
  self.sequence_name = nil
end

如何禁止使用 sequence 呢?我用的是 activerecord-oracle_enhanced-adapter 这个 gem

最后经过几天的研究,发现这样可以解决问题。就是把主键约束全部交给业务代码和 oracle

class User < ActiveRecord::Base
  self.table_name = "users"
  self.primary_key = nil
end
You need to Sign in before reply, if you don't have an account, please Sign up first.