본문으로 건너뛰기

클래스: 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

TransactorOptions

반환값

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&lt;any>

반환값

Promise&lt;void>


getMutationCollectionMeta()

protected getMutationCollectionMeta(mutation): PowerSyncCollectionMeta<any>;

정의 위치: PowerSyncTransactor.ts:297

매개변수

mutation

PendingMutation&lt;any>

반환값

PowerSyncCollectionMeta&lt;any>


handleDelete()

protected handleDelete(
mutation,
context,
waitForCompletion): Promise<PendingOperation | null>;

정의 위치: PowerSyncTransactor.ts:223

매개변수

mutation

PendingMutation&lt;any>

context

LockContext

waitForCompletion

boolean = false

반환값

Promise&lt;PendingOperation | null>


handleInsert()

protected handleInsert(
mutation,
context,
waitForCompletion): Promise<PendingOperation | null>;

정의 위치: PowerSyncTransactor.ts:152

매개변수

mutation

PendingMutation&lt;any>

context

LockContext

waitForCompletion

boolean = false

반환값

Promise&lt;PendingOperation | null>


handleOperationWithCompletion()

protected handleOperationWithCompletion(
mutation,
context,
waitForCompletion,
handler): Promise<PendingOperation | null>;

정의 위치: PowerSyncTransactor.ts:266

다음 작업을 수행하여 영속성 작업을 래핑하는 헬퍼 함수입니다:

  • 뮤테이션 컬렉션의 SQLite 테이블 세부 정보를 가져옵니다
  • 뮤테이션을 실행합니다
  • 필요한 경우 마지막 보류 중인 diff 작업을 반환합니다

매개변수

mutation

PendingMutation&lt;any>

context

LockContext

waitForCompletion

boolean

handler

(tableName, mutation, serializeValue) => Promise&lt;void>

반환값

Promise&lt;PendingOperation | null>


handleUpdate()

protected handleUpdate(
mutation,
context,
waitForCompletion): Promise<PendingOperation | null>;

정의 위치: PowerSyncTransactor.ts:188

매개변수

mutation

PendingMutation&lt;any>

context

LockContext

waitForCompletion

boolean = false

반환값

Promise&lt;PendingOperation | null>


processMutationMetadata()

protected processMutationMetadata(mutation): string | null;

정의 위치: PowerSyncTransactor.ts:316

데이터베이스에 영속화할 컬렉션 뮤테이션 메타데이터를 처리합니다. 문자열 메타데이터 저장만 지원합니다.

매개변수

mutation

PendingMutation&lt;any>

반환값

string | null

저장할 메타데이터가 없으면 null입니다.