51 lines
1.5 KiB
SQL
51 lines
1.5 KiB
SQL
-- 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");
|