클래스: PowerSyncTransactor
정의 위치: PowerSyncTransactor.ts:54
PowerSync 데이터베이스에 뮤테이션을 적용합니다. 이 메서드는 컬렉션의 insert, update, delete 작업에 의해 자동으로 호출됩니다. 특별한 트랜잭션 요구 사항이 없는 한 일반적으로 직접 호출할 필요는 없습니다.
예제
// Create a collection
const collection = createCollection(
powerSyncCollectionOptions<Document>({
database: db,
table: APP_SCHEMA.props.documents,
})
)
const addTx = createTransaction({
autoCommit: false,
mutationFn: async ({ transaction }) => {
await new PowerSyncTransactor({ database: db }).applyTransaction(transaction)
},
})
addTx.mutate(() => {
for (let i = 0; i < 5; i++) {
collection.insert({ id: randomUUID(), name: `tx-${i}` })
}
})
await addTx.commit()
await addTx.isPersisted.promise
매개변수
적용할 뮤테이션을 포함하는 트랜잭션입니다.
생성자
생성자
new PowerSyncTransactor(options): PowerSyncTransactor;
정의 위치: PowerSyncTransactor.ts:58
매개변수
options
반환값
PowerSyncTransactor
속성
database
database: AbstractPowerSyncDatabase;
정의 위치: PowerSyncTransactor.ts:55
pendingOperationStore
pendingOperationStore: PendingOperationStore;
정의 위치: PowerSyncTransactor.ts:56
메서드
applyTransaction()
applyTransaction(transaction): Promise<void>;
정의 위치: PowerSyncTransactor.ts:66
트랜잭션을 PowerSync SQLite 데이터베이스에 영속화합니다.
매개변수
transaction
Transaction<any>
반환값
Promise<void>
getMutationCollectionMeta()
protected getMutationCollectionMeta(mutation): PowerSyncCollectionMeta<any>;
정의 위치: PowerSyncTransactor.ts:297
매개변수
mutation
PendingMutation<any>
반환값
PowerSyncCollectionMeta<any>
handleDelete()
protected handleDelete(
mutation,
context,
waitForCompletion): Promise<PendingOperation | null>;
정의 위치: PowerSyncTransactor.ts:223
매개변수
mutation
PendingMutation<any>
context
LockContext
waitForCompletion
boolean = false
반환값
Promise<PendingOperation | null>
handleInsert()
protected handleInsert(
mutation,
context,
waitForCompletion): Promise<PendingOperation | null>;
정의 위치: PowerSyncTransactor.ts:152
매개변수
mutation
PendingMutation<any>
context
LockContext
waitForCompletion
boolean = false
반환값
Promise<PendingOperation | null>
handleOperationWithCompletion()
protected handleOperationWithCompletion(
mutation,
context,
waitForCompletion,
handler): Promise<PendingOperation | null>;
정의 위치: PowerSyncTransactor.ts:266
다음 작업을 수행하여 영속성 작업을 래핑하는 헬퍼 함수입니다:
- 뮤테이션 컬렉션의 SQLite 테이블 세부 정보를 가져옵니다
- 뮤테이션을 실행합니다
- 필요한 경우 마지막 보류 중인 diff 작업을 반환합니다
매개변수
mutation
PendingMutation<any>
context
LockContext
waitForCompletion
boolean
handler
(tableName, mutation, serializeValue) => Promise<void>
반환값
Promise<PendingOperation | null>
handleUpdate()
protected handleUpdate(
mutation,
context,
waitForCompletion): Promise<PendingOperation | null>;
정의 위치: PowerSyncTransactor.ts:188
매개변수
mutation
PendingMutation<any>
context
LockContext
waitForCompletion
boolean = false
반환값
Promise<PendingOperation | null>
processMutationMetadata()
protected processMutationMetadata(mutation): string | null;
정의 위치: PowerSyncTransactor.ts:316
데이터베이스에 영속화할 컬렉션 뮤테이션 메타데이터를 처리합니다. 문자열 메타데이터 저장만 지원합니다.
매개변수
mutation
PendingMutation<any>
반환값
string | null
저장할 메타데이터가 없으면 null입니다.