跳到主要内容

generate_trigger_sql()

function generate_trigger_sql(entityMetadata, options?): string;

Defined in: packages/rxdb-adapter-pglite/src/table/trigger_sql.ts:38

生成 PostgreSQL 触发器 SQL

为实体表生成 INSERT/UPDATE/DELETE 触发器,自动记录所有数据变更到 RxDBChange 表 PostgreSQL 触发器需要先创建触发器函数,然后创建触发器本身

注意:由于 PostgreSQL 事务限制(pending trigger events), 我们无法通过修改列默认值来动态设置 transactionId, 必须在触发器中硬编码,并在每次切换时重建触发器(与 SQLite 方案一致)

Parameters

ParameterTypeDescription
entityMetadataEntityMetadata实体元数据
optionsTriggerOptions触发器选项

Returns

string

完整的触发器 SQL 语句

Example

const sql = generate_trigger_sql(todoMetadata);
await adapter.exec(sql);

// 在事务中使用
const sqlWithTx = generate_trigger_sql(todoMetadata, { transactionId: 'tx-123' });
await adapter.exec(sqlWithTx);