2026-03-24 04:47:19 +02:00
{
"formatVersion" : 1 ,
"database" : {
"version" : 1 ,
2026-05-04 22:29:22 +02:00
"identityHash" : "5df12f022a01cc28ca4f7e06383826a4" ,
2026-03-24 04:47:19 +02:00
"entities" : [
2026-03-25 04:19:06 +02:00
{
"tableName" : "BroadcastNostrEventReceipt" ,
2026-03-26 23:32:47 +02:00
"createSql" : "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `nostrEventId` TEXT NOT NULL, `unsignedNostrEventId` INTEGER, `isAccepted` INTEGER NOT NULL, `relayURL` TEXT NOT NULL, `messages` TEXT, FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`unsignedNostrEventId`) REFERENCES `UnsignedNostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )" ,
2026-03-25 04:19:06 +02:00
"fields" : [
{
"fieldPath" : "id" ,
"columnName" : "id" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "nostrEventId" ,
"columnName" : "nostrEventId" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
2026-03-26 23:32:47 +02:00
{
"fieldPath" : "unsignedNostrEventId" ,
"columnName" : "unsignedNostrEventId" ,
"affinity" : "INTEGER"
} ,
2026-03-25 04:19:06 +02:00
{
"fieldPath" : "isAccepted" ,
"columnName" : "isAccepted" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "relayURL" ,
"columnName" : "relayURL" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "messages" ,
"columnName" : "messages" ,
"affinity" : "TEXT"
}
] ,
"primaryKey" : {
"autoGenerate" : true ,
"columnNames" : [
"id"
]
} ,
"indices" : [
{
"name" : "index_BroadcastNostrEventReceipt_nostrEventId" ,
"unique" : false ,
"columnNames" : [
"nostrEventId"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_BroadcastNostrEventReceipt_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)"
} ,
{
"name" : "index_BroadcastNostrEventReceipt_isAccepted" ,
"unique" : false ,
"columnNames" : [
"isAccepted"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_BroadcastNostrEventReceipt_isAccepted` ON `${TABLE_NAME}` (`isAccepted`)"
}
] ,
"foreignKeys" : [
{
"table" : "NostrEvent" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"nostrEventId"
] ,
"referencedColumns" : [
"id"
]
2026-03-26 23:32:47 +02:00
} ,
{
"table" : "UnsignedNostrEvent" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"unsignedNostrEventId"
] ,
"referencedColumns" : [
"id"
]
2026-03-25 04:19:06 +02:00
}
]
} ,
{
"tableName" : "BroadcastNostrEventRequest" ,
2026-03-26 23:32:47 +02:00
"createSql" : "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `nostrEventId` TEXT NOT NULL, `unsignedNostrEventId` INTEGER, `status` TEXT NOT NULL, `relayURL` TEXT NOT NULL, FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`unsignedNostrEventId`) REFERENCES `UnsignedNostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )" ,
2026-03-25 04:19:06 +02:00
"fields" : [
{
"fieldPath" : "id" ,
"columnName" : "id" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "nostrEventId" ,
"columnName" : "nostrEventId" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
2026-03-26 23:32:47 +02:00
{
"fieldPath" : "unsignedNostrEventId" ,
"columnName" : "unsignedNostrEventId" ,
"affinity" : "INTEGER"
} ,
2026-03-25 04:19:06 +02:00
{
"fieldPath" : "status" ,
"columnName" : "status" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "relayURL" ,
"columnName" : "relayURL" ,
"affinity" : "TEXT" ,
"notNull" : true
}
] ,
"primaryKey" : {
"autoGenerate" : true ,
"columnNames" : [
"id"
]
} ,
"indices" : [
{
"name" : "index_BroadcastNostrEventRequest_nostrEventId" ,
"unique" : false ,
"columnNames" : [
"nostrEventId"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_BroadcastNostrEventRequest_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)"
} ,
{
"name" : "index_BroadcastNostrEventRequest_status" ,
"unique" : false ,
"columnNames" : [
"status"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_BroadcastNostrEventRequest_status` ON `${TABLE_NAME}` (`status`)"
}
] ,
"foreignKeys" : [
{
"table" : "NostrEvent" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"nostrEventId"
] ,
"referencedColumns" : [
"id"
]
2026-03-26 23:32:47 +02:00
} ,
{
"table" : "UnsignedNostrEvent" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"unsignedNostrEventId"
] ,
"referencedColumns" : [
"id"
]
2026-03-25 04:19:06 +02:00
}
]
} ,
2026-04-22 02:55:22 +02:00
{
"tableName" : "Connection" ,
"createSql" : "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`sourcePublicKey` TEXT NOT NULL, `destinationPublicKey` TEXT NOT NULL, `nostrEventId` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`sourcePublicKey`, `destinationPublicKey`), FOREIGN KEY(`sourcePublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`destinationPublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE )" ,
"fields" : [
{
"fieldPath" : "sourcePublicKey" ,
"columnName" : "sourcePublicKey" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "destinationPublicKey" ,
"columnName" : "destinationPublicKey" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "nostrEventId" ,
"columnName" : "nostrEventId" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "createdAt" ,
"columnName" : "createdAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "updatedAt" ,
"columnName" : "updatedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "savedAt" ,
"columnName" : "savedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "deletedAt" ,
"columnName" : "deletedAt" ,
"affinity" : "INTEGER"
} ,
{
"fieldPath" : "broadcastedAt" ,
"columnName" : "broadcastedAt" ,
"affinity" : "INTEGER"
}
] ,
"primaryKey" : {
"autoGenerate" : false ,
"columnNames" : [
"sourcePublicKey" ,
"destinationPublicKey"
]
} ,
"foreignKeys" : [
{
"table" : "Profile" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"sourcePublicKey"
] ,
"referencedColumns" : [
"publicKey"
]
} ,
{
"table" : "Profile" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"destinationPublicKey"
] ,
"referencedColumns" : [
"publicKey"
]
}
]
} ,
2026-04-28 02:22:29 +02:00
{
2026-04-30 18:43:18 +02:00
"tableName" : "InReplyToRelation" ,
"createSql" : "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`replyingNostrEventId` TEXT NOT NULL, `inReplyToNostrEventId` TEXT NOT NULL, `inReplyToProfilePublicKey` TEXT, `inReplyToRootNostrEventId` TEXT, `inReplyToRootProfilePublicKey` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, PRIMARY KEY(`replyingNostrEventId`, `inReplyToNostrEventId`), FOREIGN KEY(`inReplyToProfilePublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`inReplyToRootProfilePublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`replyingNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`inReplyToNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`inReplyToRootNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )" ,
2026-04-28 02:22:29 +02:00
"fields" : [
{
2026-04-30 18:43:18 +02:00
"fieldPath" : "replyingNostrEventId" ,
"columnName" : "replyingNostrEventId" ,
2026-04-28 02:22:29 +02:00
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
2026-04-30 18:43:18 +02:00
"fieldPath" : "inReplyToNostrEventId" ,
"columnName" : "inReplyToNostrEventId" ,
2026-04-28 02:22:29 +02:00
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
2026-04-30 18:43:18 +02:00
"fieldPath" : "inReplyToProfilePublicKey" ,
"columnName" : "inReplyToProfilePublicKey" ,
"affinity" : "TEXT"
2026-04-28 02:22:29 +02:00
} ,
{
2026-04-30 18:43:18 +02:00
"fieldPath" : "inReplyToRootNostrEventId" ,
"columnName" : "inReplyToRootNostrEventId" ,
"affinity" : "TEXT"
2026-04-28 02:22:29 +02:00
} ,
{
2026-04-30 18:43:18 +02:00
"fieldPath" : "inReplyToRootProfilePublicKey" ,
"columnName" : "inReplyToRootProfilePublicKey" ,
"affinity" : "TEXT"
2026-04-28 02:22:29 +02:00
} ,
{
"fieldPath" : "createdAt" ,
"columnName" : "createdAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "updatedAt" ,
"columnName" : "updatedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "savedAt" ,
"columnName" : "savedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "viewedAt" ,
"columnName" : "viewedAt" ,
"affinity" : "INTEGER"
} ,
{
"fieldPath" : "deletedAt" ,
"columnName" : "deletedAt" ,
"affinity" : "INTEGER"
}
] ,
"primaryKey" : {
"autoGenerate" : false ,
"columnNames" : [
2026-04-30 18:43:18 +02:00
"replyingNostrEventId" ,
"inReplyToNostrEventId"
2026-04-28 02:22:29 +02:00
]
} ,
"foreignKeys" : [
{
"table" : "Profile" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
2026-04-30 18:43:18 +02:00
"inReplyToProfilePublicKey"
2026-04-28 02:22:29 +02:00
] ,
"referencedColumns" : [
"publicKey"
]
} ,
{
"table" : "Profile" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
2026-04-30 18:43:18 +02:00
"inReplyToRootProfilePublicKey"
2026-04-28 02:22:29 +02:00
] ,
"referencedColumns" : [
"publicKey"
]
} ,
{
"table" : "NostrEvent" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
2026-04-30 18:43:18 +02:00
"replyingNostrEventId"
2026-04-28 02:22:29 +02:00
] ,
"referencedColumns" : [
"id"
]
} ,
{
2026-04-30 18:43:18 +02:00
"table" : "NostrEvent" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"inReplyToNostrEventId"
] ,
"referencedColumns" : [
"id"
]
} ,
{
"table" : "NostrEvent" ,
2026-04-28 02:22:29 +02:00
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
2026-04-30 18:43:18 +02:00
"inReplyToRootNostrEventId"
2026-04-28 02:22:29 +02:00
] ,
"referencedColumns" : [
"id"
]
}
]
} ,
{
"tableName" : "Mention" ,
2026-05-02 01:19:28 +02:00
"createSql" : "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `mentionedPublicKey` TEXT NOT NULL, `mentioningNostrEventId` TEXT, `relayUrl` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `deletedAt` INTEGER, `broadcastedAt` INTEGER, FOREIGN KEY(`mentionedPublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`mentioningNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )" ,
2026-04-28 02:22:29 +02:00
"fields" : [
2026-05-02 01:19:28 +02:00
{
"fieldPath" : "id" ,
"columnName" : "id" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
2026-04-28 02:22:29 +02:00
{
2026-04-30 18:43:18 +02:00
"fieldPath" : "mentionedPublicKey" ,
"columnName" : "mentionedPublicKey" ,
2026-04-28 02:22:29 +02:00
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
2026-05-02 01:19:28 +02:00
"fieldPath" : "mentioningNostrEventId" ,
"columnName" : "mentioningNostrEventId" ,
2026-04-28 02:22:29 +02:00
"affinity" : "TEXT"
} ,
{
2026-05-02 01:19:28 +02:00
"fieldPath" : "relayUrl" ,
"columnName" : "relayUrl" ,
"affinity" : "TEXT"
2026-04-28 02:22:29 +02:00
} ,
{
"fieldPath" : "createdAt" ,
"columnName" : "createdAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "updatedAt" ,
"columnName" : "updatedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "savedAt" ,
"columnName" : "savedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "deletedAt" ,
"columnName" : "deletedAt" ,
"affinity" : "INTEGER"
} ,
{
"fieldPath" : "broadcastedAt" ,
"columnName" : "broadcastedAt" ,
"affinity" : "INTEGER"
}
] ,
"primaryKey" : {
2026-05-02 01:19:28 +02:00
"autoGenerate" : true ,
2026-04-28 02:22:29 +02:00
"columnNames" : [
2026-05-02 01:19:28 +02:00
"id"
2026-04-28 02:22:29 +02:00
]
} ,
"foreignKeys" : [
{
"table" : "Profile" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
2026-04-30 18:43:18 +02:00
"mentionedPublicKey"
2026-04-28 02:22:29 +02:00
] ,
"referencedColumns" : [
"publicKey"
]
} ,
{
"table" : "NostrEvent" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
2026-05-02 01:19:28 +02:00
"mentioningNostrEventId"
2026-04-28 02:22:29 +02:00
] ,
"referencedColumns" : [
"id"
]
}
]
} ,
2026-05-04 18:12:11 +02:00
{
"tableName" : "NegentropySynchronizeRequest" ,
"createSql" : "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `purpose` TEXT NOT NULL, `status` TEXT NOT NULL, `relayURL` TEXT NOT NULL, `isRecommendedRelay` INTEGER NOT NULL, `level` INTEGER NOT NULL, `synchronizationFilter` TEXT NOT NULL, `nostrEventId` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )" ,
"fields" : [
{
"fieldPath" : "id" ,
"columnName" : "id" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "purpose" ,
"columnName" : "purpose" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "status" ,
"columnName" : "status" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "relayURL" ,
"columnName" : "relayURL" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "isRecommendedRelay" ,
"columnName" : "isRecommendedRelay" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "level" ,
"columnName" : "level" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "synchronizationFilter" ,
"columnName" : "synchronizationFilter" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "nostrEventId" ,
"columnName" : "nostrEventId" ,
"affinity" : "TEXT"
} ,
{
"fieldPath" : "createdAt" ,
"columnName" : "createdAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "updatedAt" ,
"columnName" : "updatedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
}
] ,
"primaryKey" : {
"autoGenerate" : false ,
"columnNames" : [
"id"
]
} ,
"indices" : [
{
"name" : "index_NegentropySynchronizeRequest_nostrEventId" ,
"unique" : false ,
"columnNames" : [
"nostrEventId"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_NegentropySynchronizeRequest_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)"
} ,
{
"name" : "index_NegentropySynchronizeRequest_status" ,
"unique" : false ,
"columnNames" : [
"status"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_NegentropySynchronizeRequest_status` ON `${TABLE_NAME}` (`status`)"
}
] ,
"foreignKeys" : [
{
"table" : "NostrEvent" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"nostrEventId"
] ,
"referencedColumns" : [
"id"
]
}
]
} ,
{
"tableName" : "NegentropySynchronizeResult" ,
"createSql" : "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `relayURL` TEXT NOT NULL, `status` TEXT NOT NULL, `negentropySynchronizeRequestId` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`negentropySynchronizeRequestId`) REFERENCES `SynchronizeNostrEventResult`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )" ,
"fields" : [
{
"fieldPath" : "id" ,
"columnName" : "id" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "relayURL" ,
"columnName" : "relayURL" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "status" ,
"columnName" : "status" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "negentropySynchronizeRequestId" ,
"columnName" : "negentropySynchronizeRequestId" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "createdAt" ,
"columnName" : "createdAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "updatedAt" ,
"columnName" : "updatedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
}
] ,
"primaryKey" : {
"autoGenerate" : false ,
"columnNames" : [
"id"
]
} ,
"foreignKeys" : [
{
"table" : "SynchronizeNostrEventResult" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"negentropySynchronizeRequestId"
] ,
"referencedColumns" : [
"id"
]
}
]
} ,
2026-03-24 04:47:19 +02:00
{
"tableName" : "NostrEvent" ,
2026-04-30 18:43:18 +02:00
"createSql" : "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `pubKey` TEXT NOT NULL, `kind` INTEGER NOT NULL, `tags` TEXT NOT NULL, `content` TEXT NOT NULL, `sig` TEXT NOT NULL, `quotedNostrEventId` TEXT, `quotedAuthorPublicKey` TEXT, `inReplyToNostrEventId` TEXT, `inReplyToAuthorPublicKey` TEXT, `inReplyToRootNostrEventId` TEXT, `inReplyToRootAuthorPublicKey` TEXT, `repostedNostrEventId` TEXT, `repostedAuthorPublicKey` TEXT, `unsignedNostrEventId` INTEGER, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`id`))" ,
2026-03-24 04:47:19 +02:00
"fields" : [
{
"fieldPath" : "id" ,
"columnName" : "id" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "pubKey" ,
"columnName" : "pubKey" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "kind" ,
"columnName" : "kind" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "tags" ,
"columnName" : "tags" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "content" ,
"columnName" : "content" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "sig" ,
"columnName" : "sig" ,
"affinity" : "TEXT" ,
"notNull" : true
2026-03-24 22:49:03 +02:00
} ,
2026-03-31 19:48:09 +02:00
{
2026-04-28 02:22:29 +02:00
"fieldPath" : "quotedNostrEventId" ,
"columnName" : "quotedNostrEventId" ,
2026-03-31 19:48:09 +02:00
"affinity" : "TEXT"
} ,
{
2026-04-30 18:43:18 +02:00
"fieldPath" : "quotedAuthorPublicKey" ,
"columnName" : "quotedAuthorPublicKey" ,
"affinity" : "TEXT"
} ,
{
"fieldPath" : "inReplyToNostrEventId" ,
"columnName" : "inReplyToNostrEventId" ,
2026-03-31 19:48:09 +02:00
"affinity" : "TEXT"
} ,
{
2026-04-30 18:43:18 +02:00
"fieldPath" : "inReplyToAuthorPublicKey" ,
"columnName" : "inReplyToAuthorPublicKey" ,
2026-03-31 19:48:09 +02:00
"affinity" : "TEXT"
} ,
{
2026-04-30 18:43:18 +02:00
"fieldPath" : "inReplyToRootNostrEventId" ,
"columnName" : "inReplyToRootNostrEventId" ,
2026-04-28 02:22:29 +02:00
"affinity" : "TEXT"
} ,
{
2026-04-30 18:43:18 +02:00
"fieldPath" : "inReplyToRootAuthorPublicKey" ,
"columnName" : "inReplyToRootAuthorPublicKey" ,
"affinity" : "TEXT"
} ,
{
"fieldPath" : "repostedNostrEventId" ,
"columnName" : "repostedNostrEventId" ,
"affinity" : "TEXT"
} ,
{
"fieldPath" : "repostedAuthorPublicKey" ,
"columnName" : "repostedAuthorPublicKey" ,
2026-03-31 19:48:09 +02:00
"affinity" : "TEXT"
} ,
2026-03-26 23:32:47 +02:00
{
"fieldPath" : "unsignedNostrEventId" ,
"columnName" : "unsignedNostrEventId" ,
"affinity" : "INTEGER"
} ,
2026-03-24 22:49:03 +02:00
{
"fieldPath" : "createdAt" ,
"columnName" : "createdAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "updatedAt" ,
"columnName" : "updatedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "savedAt" ,
"columnName" : "savedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "deletedAt" ,
"columnName" : "deletedAt" ,
"affinity" : "INTEGER"
} ,
{
"fieldPath" : "broadcastedAt" ,
"columnName" : "broadcastedAt" ,
"affinity" : "INTEGER"
2026-03-24 04:47:19 +02:00
}
] ,
"primaryKey" : {
"autoGenerate" : false ,
"columnNames" : [
"id"
]
2026-03-26 02:52:08 +02:00
} ,
"indices" : [
{
"name" : "index_NostrEvent_kind" ,
"unique" : false ,
"columnNames" : [
"kind"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_NostrEvent_kind` ON `${TABLE_NAME}` (`kind`)"
} ,
{
"name" : "index_NostrEvent_pubKey" ,
"unique" : false ,
"columnNames" : [
"pubKey"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_NostrEvent_pubKey` ON `${TABLE_NAME}` (`pubKey`)"
2026-04-28 02:22:29 +02:00
} ,
{
"name" : "index_NostrEvent_quotedNostrEventId" ,
"unique" : false ,
"columnNames" : [
"quotedNostrEventId"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_NostrEvent_quotedNostrEventId` ON `${TABLE_NAME}` (`quotedNostrEventId`)"
} ,
{
2026-04-30 18:43:18 +02:00
"name" : "index_NostrEvent_inReplyToNostrEventId" ,
2026-04-28 02:22:29 +02:00
"unique" : false ,
"columnNames" : [
2026-04-30 18:43:18 +02:00
"inReplyToNostrEventId"
2026-04-28 02:22:29 +02:00
] ,
"orders" : [ ] ,
2026-04-30 18:43:18 +02:00
"createSql" : "CREATE INDEX IF NOT EXISTS `index_NostrEvent_inReplyToNostrEventId` ON `${TABLE_NAME}` (`inReplyToNostrEventId`)"
2026-04-28 02:22:29 +02:00
} ,
{
2026-04-30 18:43:18 +02:00
"name" : "index_NostrEvent_inReplyToRootNostrEventId" ,
2026-04-28 02:22:29 +02:00
"unique" : false ,
"columnNames" : [
2026-04-30 18:43:18 +02:00
"inReplyToRootNostrEventId"
2026-04-28 02:22:29 +02:00
] ,
"orders" : [ ] ,
2026-04-30 18:43:18 +02:00
"createSql" : "CREATE INDEX IF NOT EXISTS `index_NostrEvent_inReplyToRootNostrEventId` ON `${TABLE_NAME}` (`inReplyToRootNostrEventId`)"
2026-03-26 02:52:08 +02:00
}
]
2026-03-24 04:47:19 +02:00
} ,
2026-05-04 22:29:22 +02:00
{
"tableName" : "NostrEventRelay" ,
"createSql" : "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`relayURL` TEXT NOT NULL, `nostrEventId` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`nostrEventId`, `relayURL`), FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )" ,
"fields" : [
{
"fieldPath" : "relayURL" ,
"columnName" : "relayURL" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "nostrEventId" ,
"columnName" : "nostrEventId" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "createdAt" ,
"columnName" : "createdAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "updatedAt" ,
"columnName" : "updatedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
}
] ,
"primaryKey" : {
"autoGenerate" : false ,
"columnNames" : [
"nostrEventId" ,
"relayURL"
]
} ,
"indices" : [
{
"name" : "index_NostrEventRelay_relayURL" ,
"unique" : false ,
"columnNames" : [
"relayURL"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_NostrEventRelay_relayURL` ON `${TABLE_NAME}` (`relayURL`)"
}
] ,
"foreignKeys" : [
{
"table" : "NostrEvent" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"nostrEventId"
] ,
"referencedColumns" : [
"id"
]
}
]
} ,
2026-03-24 04:47:19 +02:00
{
"tableName" : "Post" ,
2026-03-25 04:19:06 +02:00
"createSql" : "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `repostId` TEXT, `quote` TEXT, `content` TEXT NOT NULL, `nostrEventId` TEXT NOT NULL, `replyToId` TEXT, `profilePublicKey` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`id`), FOREIGN KEY(`profilePublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`replyToId`) REFERENCES `Post`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`repostId`) REFERENCES `Post`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )" ,
2026-03-24 04:47:19 +02:00
"fields" : [
{
"fieldPath" : "id" ,
"columnName" : "id" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "repostId" ,
"columnName" : "repostId" ,
"affinity" : "TEXT"
} ,
{
"fieldPath" : "quote" ,
"columnName" : "quote" ,
"affinity" : "TEXT"
} ,
{
2026-03-25 04:19:06 +02:00
"fieldPath" : "content" ,
"columnName" : "content" ,
2026-03-24 04:47:19 +02:00
"affinity" : "TEXT" ,
"notNull" : true
} ,
2026-03-24 22:49:03 +02:00
{
2026-03-25 04:19:06 +02:00
"fieldPath" : "nostrEventId" ,
"columnName" : "nostrEventId" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "replyToId" ,
"columnName" : "replyToId" ,
"affinity" : "TEXT"
} ,
{
"fieldPath" : "profilePublicKey" ,
"columnName" : "profilePublicKey" ,
2026-03-24 22:49:03 +02:00
"affinity" : "TEXT" ,
"notNull" : true
} ,
2026-03-24 04:47:19 +02:00
{
"fieldPath" : "createdAt" ,
"columnName" : "createdAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
2026-03-24 22:49:03 +02:00
"fieldPath" : "updatedAt" ,
"columnName" : "updatedAt" ,
2026-03-24 04:47:19 +02:00
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
2026-03-24 22:49:03 +02:00
"fieldPath" : "savedAt" ,
"columnName" : "savedAt" ,
2026-03-24 04:47:19 +02:00
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
2026-03-24 22:49:03 +02:00
"fieldPath" : "viewedAt" ,
"columnName" : "viewedAt" ,
"affinity" : "INTEGER"
} ,
{
"fieldPath" : "deletedAt" ,
"columnName" : "deletedAt" ,
"affinity" : "INTEGER"
} ,
{
"fieldPath" : "broadcastedAt" ,
"columnName" : "broadcastedAt" ,
"affinity" : "INTEGER"
2026-03-24 04:47:19 +02:00
}
] ,
"primaryKey" : {
"autoGenerate" : false ,
"columnNames" : [
"id"
]
} ,
"indices" : [
{
"name" : "index_Post_profilePublicKey" ,
"unique" : false ,
"columnNames" : [
"profilePublicKey"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_Post_profilePublicKey` ON `${TABLE_NAME}` (`profilePublicKey`)"
} ,
{
"name" : "index_Post_nostrEventId" ,
"unique" : false ,
"columnNames" : [
"nostrEventId"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_Post_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)"
} ,
{
"name" : "index_Post_replyToId" ,
"unique" : false ,
"columnNames" : [
"replyToId"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_Post_replyToId` ON `${TABLE_NAME}` (`replyToId`)"
} ,
{
"name" : "index_Post_repostId" ,
"unique" : false ,
"columnNames" : [
"repostId"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_Post_repostId` ON `${TABLE_NAME}` (`repostId`)"
}
] ,
"foreignKeys" : [
{
"table" : "Profile" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"profilePublicKey"
] ,
"referencedColumns" : [
"publicKey"
]
} ,
{
"table" : "NostrEvent" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"nostrEventId"
] ,
"referencedColumns" : [
"id"
]
} ,
{
"table" : "Post" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"replyToId"
] ,
"referencedColumns" : [
"id"
]
} ,
{
"table" : "Post" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"repostId"
] ,
"referencedColumns" : [
"id"
]
}
]
} ,
{
"tableName" : "Profile" ,
2026-03-25 04:19:06 +02:00
"createSql" : "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`publicKey` TEXT NOT NULL, `userName` TEXT, `displayName` TEXT, `picture` TEXT, `banner` TEXT, `website` TEXT, `about` TEXT, `bot` INTEGER, `pronouns` TEXT, `nip05` TEXT, `domain` TEXT, `lud06` TEXT, `lud16` TEXT, `twitter` TEXT, `nostrEventId` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`publicKey`), FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )" ,
2026-03-24 04:47:19 +02:00
"fields" : [
{
"fieldPath" : "publicKey" ,
"columnName" : "publicKey" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "userName" ,
"columnName" : "userName" ,
"affinity" : "TEXT"
} ,
{
"fieldPath" : "displayName" ,
"columnName" : "displayName" ,
"affinity" : "TEXT"
} ,
{
"fieldPath" : "picture" ,
"columnName" : "picture" ,
"affinity" : "TEXT"
} ,
{
"fieldPath" : "banner" ,
"columnName" : "banner" ,
"affinity" : "TEXT"
} ,
{
"fieldPath" : "website" ,
"columnName" : "website" ,
"affinity" : "TEXT"
} ,
{
"fieldPath" : "about" ,
"columnName" : "about" ,
"affinity" : "TEXT"
} ,
{
"fieldPath" : "bot" ,
"columnName" : "bot" ,
"affinity" : "INTEGER"
} ,
{
"fieldPath" : "pronouns" ,
"columnName" : "pronouns" ,
"affinity" : "TEXT"
} ,
{
"fieldPath" : "nip05" ,
"columnName" : "nip05" ,
"affinity" : "TEXT"
} ,
{
"fieldPath" : "domain" ,
"columnName" : "domain" ,
"affinity" : "TEXT"
} ,
{
"fieldPath" : "lud06" ,
"columnName" : "lud06" ,
"affinity" : "TEXT"
} ,
{
"fieldPath" : "lud16" ,
"columnName" : "lud16" ,
"affinity" : "TEXT"
} ,
{
"fieldPath" : "twitter" ,
"columnName" : "twitter" ,
"affinity" : "TEXT"
2026-03-24 22:49:03 +02:00
} ,
2026-03-25 04:19:06 +02:00
{
"fieldPath" : "nostrEventId" ,
"columnName" : "nostrEventId" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
2026-03-24 22:49:03 +02:00
{
"fieldPath" : "createdAt" ,
"columnName" : "createdAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "updatedAt" ,
"columnName" : "updatedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "savedAt" ,
"columnName" : "savedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "viewedAt" ,
"columnName" : "viewedAt" ,
"affinity" : "INTEGER"
} ,
{
"fieldPath" : "deletedAt" ,
"columnName" : "deletedAt" ,
"affinity" : "INTEGER"
} ,
{
"fieldPath" : "broadcastedAt" ,
"columnName" : "broadcastedAt" ,
"affinity" : "INTEGER"
2026-03-24 04:47:19 +02:00
}
] ,
"primaryKey" : {
"autoGenerate" : false ,
"columnNames" : [
"publicKey"
]
} ,
"indices" : [
{
"name" : "index_Profile_nostrEventId" ,
"unique" : false ,
"columnNames" : [
"nostrEventId"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_Profile_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)"
}
] ,
"foreignKeys" : [
{
"table" : "NostrEvent" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"nostrEventId"
] ,
"referencedColumns" : [
"id"
]
}
]
} ,
2026-04-28 02:22:29 +02:00
{
2026-04-30 18:43:18 +02:00
"tableName" : "QuotedRelation" ,
"createSql" : "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`quotingNostrEventId` TEXT NOT NULL, `quotedNostrEventId` TEXT NOT NULL, `quotedProfilePublicKey` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`quotingNostrEventId`, `quotedNostrEventId`), FOREIGN KEY(`quotedProfilePublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`quotingNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`quotedNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )" ,
2026-04-28 02:22:29 +02:00
"fields" : [
{
2026-04-30 18:43:18 +02:00
"fieldPath" : "quotingNostrEventId" ,
"columnName" : "quotingNostrEventId" ,
2026-04-28 02:22:29 +02:00
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
2026-04-30 18:43:18 +02:00
"fieldPath" : "quotedNostrEventId" ,
"columnName" : "quotedNostrEventId" ,
2026-04-28 02:22:29 +02:00
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
2026-04-30 18:43:18 +02:00
"fieldPath" : "quotedProfilePublicKey" ,
"columnName" : "quotedProfilePublicKey" ,
"affinity" : "TEXT"
2026-04-28 02:22:29 +02:00
} ,
{
"fieldPath" : "createdAt" ,
"columnName" : "createdAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "updatedAt" ,
"columnName" : "updatedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "savedAt" ,
"columnName" : "savedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "viewedAt" ,
"columnName" : "viewedAt" ,
"affinity" : "INTEGER"
} ,
{
"fieldPath" : "deletedAt" ,
"columnName" : "deletedAt" ,
"affinity" : "INTEGER"
} ,
{
"fieldPath" : "broadcastedAt" ,
"columnName" : "broadcastedAt" ,
"affinity" : "INTEGER"
}
] ,
"primaryKey" : {
"autoGenerate" : false ,
"columnNames" : [
2026-04-30 18:43:18 +02:00
"quotingNostrEventId" ,
"quotedNostrEventId"
2026-04-28 02:22:29 +02:00
]
} ,
"foreignKeys" : [
{
"table" : "Profile" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
2026-04-30 18:43:18 +02:00
"quotedProfilePublicKey"
2026-04-28 02:22:29 +02:00
] ,
"referencedColumns" : [
"publicKey"
]
} ,
{
"table" : "NostrEvent" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
2026-04-30 18:43:18 +02:00
"quotingNostrEventId"
2026-04-28 02:22:29 +02:00
] ,
"referencedColumns" : [
"id"
]
} ,
{
2026-04-30 18:43:18 +02:00
"table" : "NostrEvent" ,
2026-04-28 02:22:29 +02:00
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
2026-04-30 18:43:18 +02:00
"quotedNostrEventId"
2026-04-28 02:22:29 +02:00
] ,
"referencedColumns" : [
"id"
]
}
]
} ,
2026-03-24 04:47:19 +02:00
{
"tableName" : "Reaction" ,
2026-03-25 04:19:06 +02:00
"createSql" : "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `content` TEXT NOT NULL, `nostrEventId` TEXT NOT NULL, `replyToId` TEXT NOT NULL, `profilePublicKey` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`id`), FOREIGN KEY(`profilePublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`replyToId`) REFERENCES `Post`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )" ,
2026-03-24 04:47:19 +02:00
"fields" : [
{
"fieldPath" : "id" ,
"columnName" : "id" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
2026-03-25 04:19:06 +02:00
{
"fieldPath" : "content" ,
"columnName" : "content" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
2026-03-24 04:47:19 +02:00
{
"fieldPath" : "nostrEventId" ,
"columnName" : "nostrEventId" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "replyToId" ,
"columnName" : "replyToId" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "profilePublicKey" ,
"columnName" : "profilePublicKey" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "createdAt" ,
"columnName" : "createdAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
2026-03-24 22:49:03 +02:00
"fieldPath" : "updatedAt" ,
"columnName" : "updatedAt" ,
"affinity" : "INTEGER" ,
2026-03-24 04:47:19 +02:00
"notNull" : true
2026-03-24 22:49:03 +02:00
} ,
{
"fieldPath" : "savedAt" ,
"columnName" : "savedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "viewedAt" ,
"columnName" : "viewedAt" ,
"affinity" : "INTEGER"
} ,
{
"fieldPath" : "deletedAt" ,
"columnName" : "deletedAt" ,
"affinity" : "INTEGER"
} ,
{
"fieldPath" : "broadcastedAt" ,
"columnName" : "broadcastedAt" ,
"affinity" : "INTEGER"
2026-03-24 04:47:19 +02:00
}
] ,
"primaryKey" : {
"autoGenerate" : false ,
"columnNames" : [
"id"
]
} ,
"indices" : [
{
"name" : "index_Reaction_profilePublicKey" ,
"unique" : false ,
"columnNames" : [
"profilePublicKey"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_Reaction_profilePublicKey` ON `${TABLE_NAME}` (`profilePublicKey`)"
} ,
{
"name" : "index_Reaction_nostrEventId" ,
"unique" : false ,
"columnNames" : [
"nostrEventId"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_Reaction_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)"
} ,
{
"name" : "index_Reaction_replyToId" ,
"unique" : false ,
"columnNames" : [
"replyToId"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_Reaction_replyToId` ON `${TABLE_NAME}` (`replyToId`)"
}
] ,
"foreignKeys" : [
{
"table" : "Profile" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"profilePublicKey"
] ,
"referencedColumns" : [
"publicKey"
]
} ,
{
"table" : "NostrEvent" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"nostrEventId"
] ,
"referencedColumns" : [
"id"
]
} ,
{
"table" : "Post" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"replyToId"
] ,
"referencedColumns" : [
"id"
]
}
]
} ,
2026-04-02 00:18:29 +02:00
{
"tableName" : "RecentSearch" ,
"createSql" : "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`query` TEXT NOT NULL, `synchronizationFilters` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`query`))" ,
"fields" : [
{
"fieldPath" : "query" ,
"columnName" : "query" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "synchronizationFilters" ,
"columnName" : "synchronizationFilters" ,
"affinity" : "TEXT"
} ,
{
"fieldPath" : "createdAt" ,
"columnName" : "createdAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "updatedAt" ,
"columnName" : "updatedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
}
] ,
"primaryKey" : {
"autoGenerate" : false ,
"columnNames" : [
"query"
]
}
} ,
2026-04-18 02:41:31 +02:00
{
"tableName" : "Relay" ,
"createSql" : "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`publicKey` TEXT NOT NULL, `type` TEXT NOT NULL, `url` TEXT NOT NULL, `read` INTEGER NOT NULL, `write` INTEGER NOT NULL, PRIMARY KEY(`publicKey`, `type`, `url`))" ,
"fields" : [
{
"fieldPath" : "publicKey" ,
"columnName" : "publicKey" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "type" ,
"columnName" : "type" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "url" ,
"columnName" : "url" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "read" ,
"columnName" : "read" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "write" ,
"columnName" : "write" ,
"affinity" : "INTEGER" ,
"notNull" : true
}
] ,
"primaryKey" : {
"autoGenerate" : false ,
"columnNames" : [
"publicKey" ,
"type" ,
"url"
]
}
} ,
2026-03-24 04:47:19 +02:00
{
2026-04-30 18:43:18 +02:00
"tableName" : "RepostedRelation" ,
"createSql" : "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`repostingNostrEventId` TEXT NOT NULL, `repostedNostrEventId` TEXT NOT NULL, `repostedProfilePublicKey` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`repostingNostrEventId`, `repostedNostrEventId`), FOREIGN KEY(`repostedProfilePublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`repostedNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`repostingNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )" ,
2026-03-24 04:47:19 +02:00
"fields" : [
{
2026-04-30 18:43:18 +02:00
"fieldPath" : "repostingNostrEventId" ,
"columnName" : "repostingNostrEventId" ,
2026-03-31 16:13:44 +02:00
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
2026-04-30 18:43:18 +02:00
"fieldPath" : "repostedNostrEventId" ,
"columnName" : "repostedNostrEventId" ,
2026-03-31 16:13:44 +02:00
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
2026-04-30 18:43:18 +02:00
"fieldPath" : "repostedProfilePublicKey" ,
"columnName" : "repostedProfilePublicKey" ,
"affinity" : "TEXT"
2026-03-24 22:49:03 +02:00
} ,
2026-03-24 04:47:19 +02:00
{
"fieldPath" : "createdAt" ,
"columnName" : "createdAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
2026-03-24 22:49:03 +02:00
"fieldPath" : "updatedAt" ,
"columnName" : "updatedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "savedAt" ,
"columnName" : "savedAt" ,
"affinity" : "INTEGER" ,
2026-03-24 04:47:19 +02:00
"notNull" : true
2026-03-24 22:49:03 +02:00
} ,
{
"fieldPath" : "viewedAt" ,
"columnName" : "viewedAt" ,
"affinity" : "INTEGER"
} ,
{
"fieldPath" : "deletedAt" ,
"columnName" : "deletedAt" ,
"affinity" : "INTEGER"
} ,
{
"fieldPath" : "broadcastedAt" ,
"columnName" : "broadcastedAt" ,
"affinity" : "INTEGER"
2026-03-24 04:47:19 +02:00
}
] ,
"primaryKey" : {
"autoGenerate" : false ,
"columnNames" : [
2026-04-30 18:43:18 +02:00
"repostingNostrEventId" ,
"repostedNostrEventId"
2026-03-24 04:47:19 +02:00
]
} ,
"foreignKeys" : [
{
"table" : "Profile" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
2026-04-30 18:43:18 +02:00
"repostedProfilePublicKey"
2026-03-31 16:13:44 +02:00
] ,
"referencedColumns" : [
"publicKey"
]
} ,
2026-03-24 04:47:19 +02:00
{
"table" : "NostrEvent" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
2026-04-30 18:43:18 +02:00
"repostedNostrEventId"
2026-03-24 04:47:19 +02:00
] ,
"referencedColumns" : [
"id"
]
} ,
{
2026-04-30 18:43:18 +02:00
"table" : "NostrEvent" ,
2026-03-24 04:47:19 +02:00
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
2026-04-30 18:43:18 +02:00
"repostingNostrEventId"
2026-03-24 04:47:19 +02:00
] ,
"referencedColumns" : [
"id"
]
}
]
} ,
2026-03-29 22:22:16 +02:00
{
"tableName" : "SynchronizeNostrEventRequest" ,
2026-04-22 22:31:03 +02:00
"createSql" : "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `purpose` TEXT NOT NULL, `status` TEXT NOT NULL, `relayURL` TEXT NOT NULL, `isRecommendedRelay` INTEGER NOT NULL, `level` INTEGER NOT NULL, `synchronizationFilters` TEXT NOT NULL, `nostrEventId` TEXT, `unsignedNostrEventId` INTEGER, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`unsignedNostrEventId`) REFERENCES `UnsignedNostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )" ,
2026-03-29 22:22:16 +02:00
"fields" : [
{
"fieldPath" : "id" ,
"columnName" : "id" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
2026-04-01 01:47:24 +02:00
{
"fieldPath" : "purpose" ,
"columnName" : "purpose" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
2026-03-29 22:22:16 +02:00
{
"fieldPath" : "status" ,
"columnName" : "status" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "relayURL" ,
"columnName" : "relayURL" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
2026-03-31 21:01:11 +02:00
{
"fieldPath" : "isRecommendedRelay" ,
"columnName" : "isRecommendedRelay" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
2026-04-22 22:31:03 +02:00
{
"fieldPath" : "level" ,
"columnName" : "level" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
2026-03-29 22:22:16 +02:00
{
2026-03-31 14:29:11 +02:00
"fieldPath" : "synchronizationFilters" ,
"columnName" : "synchronizationFilters" ,
2026-03-31 13:44:45 +02:00
"affinity" : "TEXT" ,
"notNull" : true
2026-03-30 01:17:44 +02:00
} ,
2026-03-29 22:22:16 +02:00
{
"fieldPath" : "nostrEventId" ,
"columnName" : "nostrEventId" ,
"affinity" : "TEXT"
} ,
{
"fieldPath" : "unsignedNostrEventId" ,
"columnName" : "unsignedNostrEventId" ,
"affinity" : "INTEGER"
} ,
{
"fieldPath" : "createdAt" ,
"columnName" : "createdAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "updatedAt" ,
"columnName" : "updatedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
}
] ,
"primaryKey" : {
"autoGenerate" : false ,
"columnNames" : [
"id"
]
} ,
"indices" : [
{
"name" : "index_SynchronizeNostrEventRequest_nostrEventId" ,
"unique" : false ,
"columnNames" : [
"nostrEventId"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_SynchronizeNostrEventRequest_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)"
} ,
{
"name" : "index_SynchronizeNostrEventRequest_status" ,
"unique" : false ,
"columnNames" : [
"status"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_SynchronizeNostrEventRequest_status` ON `${TABLE_NAME}` (`status`)"
}
] ,
"foreignKeys" : [
{
"table" : "NostrEvent" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"nostrEventId"
] ,
"referencedColumns" : [
"id"
]
} ,
{
"table" : "UnsignedNostrEvent" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"unsignedNostrEventId"
] ,
"referencedColumns" : [
"id"
]
}
]
} ,
{
"tableName" : "SynchronizeNostrEventResult" ,
"createSql" : "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `relayURL` TEXT NOT NULL, `nostrEventId` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )" ,
"fields" : [
{
"fieldPath" : "id" ,
"columnName" : "id" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "relayURL" ,
"columnName" : "relayURL" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "nostrEventId" ,
"columnName" : "nostrEventId" ,
"affinity" : "TEXT"
} ,
{
"fieldPath" : "createdAt" ,
"columnName" : "createdAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "updatedAt" ,
"columnName" : "updatedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
}
] ,
"primaryKey" : {
"autoGenerate" : false ,
"columnNames" : [
"id"
]
} ,
"indices" : [
{
"name" : "index_SynchronizeNostrEventResult_nostrEventId" ,
"unique" : false ,
"columnNames" : [
"nostrEventId"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_SynchronizeNostrEventResult_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)"
}
] ,
"foreignKeys" : [
{
"table" : "NostrEvent" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"nostrEventId"
] ,
"referencedColumns" : [
"id"
]
}
]
} ,
2026-03-24 04:47:19 +02:00
{
2026-03-25 04:19:06 +02:00
"tableName" : "UnsignedNostrEvent" ,
2026-03-30 20:38:01 +02:00
"createSql" : "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `pubKey` TEXT NOT NULL, `kind` INTEGER NOT NULL, `tags` TEXT NOT NULL, `privateTags` TEXT, `content` TEXT NOT NULL, `signedAt` INTEGER, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `deletedAt` INTEGER, `broadcastedAt` INTEGER)" ,
2026-03-24 04:47:19 +02:00
"fields" : [
{
"fieldPath" : "id" ,
"columnName" : "id" ,
2026-03-25 04:19:06 +02:00
"affinity" : "INTEGER" ,
"notNull" : true
} ,
2026-03-26 03:03:42 +02:00
{
"fieldPath" : "pubKey" ,
"columnName" : "pubKey" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
2026-03-25 04:19:06 +02:00
{
"fieldPath" : "kind" ,
"columnName" : "kind" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "tags" ,
"columnName" : "tags" ,
2026-03-24 04:47:19 +02:00
"affinity" : "TEXT" ,
"notNull" : true
} ,
2026-03-30 20:38:01 +02:00
{
"fieldPath" : "privateTags" ,
"columnName" : "privateTags" ,
"affinity" : "TEXT"
} ,
2026-03-24 04:47:19 +02:00
{
2026-03-25 04:19:06 +02:00
"fieldPath" : "content" ,
"columnName" : "content" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
2026-03-27 20:39:04 +02:00
{
"fieldPath" : "signedAt" ,
"columnName" : "signedAt" ,
"affinity" : "INTEGER"
} ,
2026-03-25 04:19:06 +02:00
{
"fieldPath" : "createdAt" ,
"columnName" : "createdAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "updatedAt" ,
"columnName" : "updatedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "savedAt" ,
"columnName" : "savedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "deletedAt" ,
"columnName" : "deletedAt" ,
"affinity" : "INTEGER"
} ,
{
"fieldPath" : "broadcastedAt" ,
"columnName" : "broadcastedAt" ,
"affinity" : "INTEGER"
}
] ,
"primaryKey" : {
"autoGenerate" : true ,
"columnNames" : [
"id"
]
} ,
"indices" : [
{
2026-03-26 23:32:47 +02:00
"name" : "index_UnsignedNostrEvent_pubKey" ,
2026-03-25 04:19:06 +02:00
"unique" : false ,
"columnNames" : [
2026-03-26 23:32:47 +02:00
"pubKey"
2026-03-25 04:19:06 +02:00
] ,
"orders" : [ ] ,
2026-03-26 23:32:47 +02:00
"createSql" : "CREATE INDEX IF NOT EXISTS `index_UnsignedNostrEvent_pubKey` ON `${TABLE_NAME}` (`pubKey`)"
} ,
2026-03-25 04:19:06 +02:00
{
2026-03-26 23:32:47 +02:00
"name" : "index_UnsignedNostrEvent_kind" ,
"unique" : false ,
"columnNames" : [
"kind"
2026-03-25 04:19:06 +02:00
] ,
2026-03-26 23:32:47 +02:00
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_UnsignedNostrEvent_kind` ON `${TABLE_NAME}` (`kind`)"
2026-03-25 04:19:06 +02:00
}
]
} ,
{
"tableName" : "Zap" ,
"createSql" : "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `postId` TEXT NOT NULL, `senderPublicKey` TEXT NOT NULL, `receiverPublicKey` TEXT NOT NULL, `message` TEXT, `invoice` TEXT, `amountInMillisatoshis` INTEGER, `nostrEventId` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`id`), FOREIGN KEY(`senderPublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`receiverPublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`postId`) REFERENCES `Post`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )" ,
"fields" : [
{
"fieldPath" : "id" ,
"columnName" : "id" ,
2026-03-24 04:47:19 +02:00
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "postId" ,
"columnName" : "postId" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "senderPublicKey" ,
"columnName" : "senderPublicKey" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "receiverPublicKey" ,
"columnName" : "receiverPublicKey" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
{
"fieldPath" : "message" ,
"columnName" : "message" ,
"affinity" : "TEXT"
} ,
{
"fieldPath" : "invoice" ,
"columnName" : "invoice" ,
"affinity" : "TEXT"
2026-03-24 22:49:03 +02:00
} ,
2026-03-25 04:19:06 +02:00
{
"fieldPath" : "amountInMillisatoshis" ,
"columnName" : "amountInMillisatoshis" ,
"affinity" : "INTEGER"
} ,
{
"fieldPath" : "nostrEventId" ,
"columnName" : "nostrEventId" ,
"affinity" : "TEXT" ,
"notNull" : true
} ,
2026-03-24 22:49:03 +02:00
{
"fieldPath" : "createdAt" ,
"columnName" : "createdAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "updatedAt" ,
"columnName" : "updatedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "savedAt" ,
"columnName" : "savedAt" ,
"affinity" : "INTEGER" ,
"notNull" : true
} ,
{
"fieldPath" : "viewedAt" ,
"columnName" : "viewedAt" ,
"affinity" : "INTEGER"
} ,
{
"fieldPath" : "deletedAt" ,
"columnName" : "deletedAt" ,
"affinity" : "INTEGER"
} ,
{
"fieldPath" : "broadcastedAt" ,
"columnName" : "broadcastedAt" ,
"affinity" : "INTEGER"
2026-03-24 04:47:19 +02:00
}
] ,
"primaryKey" : {
"autoGenerate" : false ,
"columnNames" : [
"id"
]
} ,
"indices" : [
{
"name" : "index_Zap_senderPublicKey" ,
"unique" : false ,
"columnNames" : [
"senderPublicKey"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_Zap_senderPublicKey` ON `${TABLE_NAME}` (`senderPublicKey`)"
} ,
{
"name" : "index_Zap_nostrEventId" ,
"unique" : false ,
"columnNames" : [
"nostrEventId"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_Zap_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)"
} ,
{
"name" : "index_Zap_postId" ,
"unique" : false ,
"columnNames" : [
"postId"
] ,
"orders" : [ ] ,
"createSql" : "CREATE INDEX IF NOT EXISTS `index_Zap_postId` ON `${TABLE_NAME}` (`postId`)"
}
] ,
"foreignKeys" : [
{
"table" : "Profile" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"senderPublicKey"
] ,
"referencedColumns" : [
"publicKey"
]
} ,
{
"table" : "Profile" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"receiverPublicKey"
] ,
"referencedColumns" : [
"publicKey"
]
} ,
{
"table" : "NostrEvent" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"nostrEventId"
] ,
"referencedColumns" : [
"id"
]
} ,
{
"table" : "Post" ,
"onDelete" : "CASCADE" ,
"onUpdate" : "NO ACTION" ,
"columns" : [
"postId"
] ,
"referencedColumns" : [
"id"
]
}
]
}
] ,
"setupQueries" : [
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)" ,
2026-05-04 22:29:22 +02:00
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '5df12f022a01cc28ca4f7e06383826a4')"
2026-03-24 04:47:19 +02:00
]
}
}