【发布时间】:2015-09-02 01:58:08
【问题描述】:
我一直在处理这个问题。 我正在使用活动记录 + OCI8 + Sinatra,但我无法运行迁移(因为我无法访问数据库上的管理员用户,但我可以向我的 oracle 管理员发送查询)。
这是我的模特
class Modify < ActiveRecord::Base
self.sequence_name = "PRM_W01.seq_modifies"
belongs_to :parameter
end
但是当我尝试创建一个新用户时,我得到了这个输出
D, [2015-08-31T16:50:34.636767 #4696] DEBUG -- : Primary Key (7.5ms) SELECT cc.column_name FROM all_constraints c, all_cons_columns cc WHERE c.owner = 'PRM_W01' AND c.table_name = 'MODIFIES' AND c.constraint_type = 'P' AND cc.owner = c.owner AND cc.constraint_name = c.constraint_name
D, [2015-08-31T16:50:34.639891 #4696] DEBUG -- : Primary Key Trigger (2.5ms) SELECT trigger_name
FROM all_triggers
WHERE owner = 'PRM_W01'
AND trigger_name = 'MODIFIES_PKT'
AND table_owner = 'PRM_W01'
AND table_name = 'MODIFIES'
AND status = 'ENABLED'
OCIError: ORA-00942: table or view does not exist
我正在阅读this
创建主键触发器(这样你就可以跳过主键值 插入语句)。默认情况下,触发器名称为“table_name_pkt”, 您可以使用 :trigger_name 选项覆盖名称(但它不是 建议覆盖它,因为这样就不会检测到此触发器 通过 ActiveRecord 模型,它仍然会预取序列 值)。
所以我认为我的问题是我没有创建该触发器,但我不知道如何迁移,有人可以帮我获取该代码吗?
【问题讨论】:
标签: ruby sinatra rails-activerecord oci8 sinatra-activerecord