-- CreateTable CREATE TABLE "BrokerOperation" ( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "accountId" TEXT NOT NULL, "cursor" TEXT, "operationId" TEXT, "parentOperationId" TEXT, "date" DATETIME, "type" TEXT NOT NULL, "category" TEXT NOT NULL, "state" TEXT, "instrumentUid" TEXT, "figi" TEXT, "ticker" TEXT, "classCode" TEXT, "payment" TEXT, "price" TEXT, "commission" TEXT, "yield" TEXT, "accruedInt" TEXT, "quantity" INTEGER, "quantityDone" INTEGER, "raw" TEXT NOT NULL, "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, "updatedAt" DATETIME NOT NULL ); -- CreateTable CREATE TABLE "BrokerOperationSyncState" ( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "accountId" TEXT NOT NULL, "lastCursor" TEXT, "lastSyncedFrom" DATETIME, "lastSyncedTo" DATETIME, "syncedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, "updatedAt" DATETIME NOT NULL ); -- CreateIndex CREATE INDEX "BrokerOperation_accountId_date_idx" ON "BrokerOperation"("accountId", "date"); -- CreateIndex CREATE INDEX "BrokerOperation_accountId_type_idx" ON "BrokerOperation"("accountId", "type"); -- CreateIndex CREATE UNIQUE INDEX "BrokerOperation_accountId_cursor_key" ON "BrokerOperation"("accountId", "cursor"); -- CreateIndex CREATE UNIQUE INDEX "BrokerOperationSyncState_accountId_key" ON "BrokerOperationSyncState"("accountId");