类型ORM:只读连接(预言机)



我正在使用TypeORM,我想知道是否有办法防止对数据库进行任何编辑。我不完全确定我的实体是否会在数据库中创建或编辑列或表,我不希望这种情况发生,就像设置表之间的关系一样,我不希望 TypeORM 创建一个新的外键如果它不存在。

我想你可以创建一个引发异常的DDL触发器。

create or replace trigger prevent_ddl_trg 
before ddl on schema
declare
begin
  raise_application_error(-20001, 'DDL not allowed')
end;

在 11.2 及更高版本中,这似乎允许对触发器本身进行更改和丢弃。

您可以通过以下方式禁用:

alter trigger prevent_ddl_trg disable;

并启用:

alter trigger prevent_ddl_trg enable;

不过要小心,您可能会阻止您意想不到的事情,例如重置自己的密码的能力。

最新更新