"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `subscriptionId` TEXT NOT NULL, `type` TEXT NOT NULL, `name` TEXT NOT NULL, `fullname` TEXT, `userId` TEXT, `ownerId` TEXT, `readonly` INTEGER, `isDefault` INTEGER, `favorite` INTEGER, `topic` TEXT, `announcement` TEXT, `description` TEXT, `open` INTEGER NOT NULL, `alert` INTEGER NOT NULL, `unread` INTEGER NOT NULL, `userMentions` INTEGER, `groupMentions` INTEGER, `updatedAt` INTEGER, `timestamp` INTEGER, `lastSeen` INTEGER, `lastMessageText` TEXT, `lastMessageUserId` TEXT, `lastMessageTimestamp` INTEGER, `broadcast` INTEGER, `muted` TEXT, PRIMARY KEY(`id`), FOREIGN KEY(`ownerId`) REFERENCES `users`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION , FOREIGN KEY(`userId`) REFERENCES `users`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION , FOREIGN KEY(`lastMessageUserId`) REFERENCES `users`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `subscriptionId` TEXT NOT NULL, `parentId` TEXT, `type` TEXT NOT NULL, `name` TEXT NOT NULL, `fullname` TEXT, `userId` TEXT, `ownerId` TEXT, `readonly` INTEGER, `isDefault` INTEGER, `favorite` INTEGER, `topic` TEXT, `announcement` TEXT, `description` TEXT, `open` INTEGER NOT NULL, `alert` INTEGER NOT NULL, `unread` INTEGER NOT NULL, `userMentions` INTEGER, `groupMentions` INTEGER, `updatedAt` INTEGER, `timestamp` INTEGER, `lastSeen` INTEGER, `lastMessageText` TEXT, `lastMessageUserId` TEXT, `lastMessageTimestamp` INTEGER, `broadcast` INTEGER, `muted` TEXT, PRIMARY KEY(`id`), FOREIGN KEY(`ownerId`) REFERENCES `users`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION , FOREIGN KEY(`userId`) REFERENCES `users`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION , FOREIGN KEY(`lastMessageUserId`) REFERENCES `users`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )",
"fields":[
"fields":[
{
{
"fieldPath":"id",
"fieldPath":"id",
...
@@ -73,6 +73,12 @@
...
@@ -73,6 +73,12 @@
"affinity":"TEXT",
"affinity":"TEXT",
"notNull":true
"notNull":true
},
},
{
"fieldPath":"parentId",
"columnName":"parentId",
"affinity":"TEXT",
"notNull":false
},
{
{
"fieldPath":"type",
"fieldPath":"type",
"columnName":"type",
"columnName":"type",
...
@@ -1099,7 +1105,7 @@
...
@@ -1099,7 +1105,7 @@
],
],
"setupQueries":[
"setupQueries":[
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, \"fb9f1c815809b0217d326452aeb34e92\")"
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, \"f0e15bc95a0bb09b052c484704dd3abd\")"
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `username` TEXT, `name` TEXT, `status` TEXT NOT NULL, `utcOffset` REAL, PRIMARY KEY(`id`))",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"username",
"columnName":"username",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"status",
"columnName":"status",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"utcOffset",
"columnName":"utcOffset",
"affinity":"REAL",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"id"
],
"autoGenerate":false
},
"indices":[
{
"name":"index_users_username",
"unique":false,
"columnNames":[
"username"
],
"createSql":"CREATE INDEX `index_users_username` ON `${TABLE_NAME}` (`username`)"
}
],
"foreignKeys":[]
},
{
"tableName":"chatrooms",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `subscriptionId` TEXT NOT NULL, `parentId` TEXT, `type` TEXT NOT NULL, `name` TEXT NOT NULL, `fullname` TEXT, `userId` TEXT, `ownerId` TEXT, `readonly` INTEGER, `isDefault` INTEGER, `favorite` INTEGER, `topic` TEXT, `announcement` TEXT, `description` TEXT, `open` INTEGER NOT NULL, `alert` INTEGER NOT NULL, `unread` INTEGER NOT NULL, `userMentions` INTEGER, `groupMentions` INTEGER, `updatedAt` INTEGER, `timestamp` INTEGER, `lastSeen` INTEGER, `lastMessageText` TEXT, `lastMessageUserId` TEXT, `lastMessageTimestamp` INTEGER, `broadcast` INTEGER, `muted` TEXT, PRIMARY KEY(`id`), FOREIGN KEY(`ownerId`) REFERENCES `users`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION , FOREIGN KEY(`userId`) REFERENCES `users`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION , FOREIGN KEY(`lastMessageUserId`) REFERENCES `users`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"subscriptionId",
"columnName":"subscriptionId",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"parentId",
"columnName":"parentId",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"type",
"columnName":"type",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"fullname",
"columnName":"fullname",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"userId",
"columnName":"userId",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"ownerId",
"columnName":"ownerId",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"readonly",
"columnName":"readonly",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"isDefault",
"columnName":"isDefault",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"favorite",
"columnName":"favorite",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"topic",
"columnName":"topic",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"announcement",
"columnName":"announcement",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"description",
"columnName":"description",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"open",
"columnName":"open",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"alert",
"columnName":"alert",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"unread",
"columnName":"unread",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"userMentions",
"columnName":"userMentions",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"groupMentions",
"columnName":"groupMentions",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"updatedAt",
"columnName":"updatedAt",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"timestamp",
"columnName":"timestamp",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"lastSeen",
"columnName":"lastSeen",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"lastMessageText",
"columnName":"lastMessageText",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"lastMessageUserId",
"columnName":"lastMessageUserId",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"lastMessageTimestamp",
"columnName":"lastMessageTimestamp",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"broadcast",
"columnName":"broadcast",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"muted",
"columnName":"muted",
"affinity":"TEXT",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"id"
],
"autoGenerate":false
},
"indices":[
{
"name":"index_chatrooms_userId",
"unique":false,
"columnNames":[
"userId"
],
"createSql":"CREATE INDEX `index_chatrooms_userId` ON `${TABLE_NAME}` (`userId`)"
},
{
"name":"index_chatrooms_ownerId",
"unique":false,
"columnNames":[
"ownerId"
],
"createSql":"CREATE INDEX `index_chatrooms_ownerId` ON `${TABLE_NAME}` (`ownerId`)"
},
{
"name":"index_chatrooms_subscriptionId",
"unique":true,
"columnNames":[
"subscriptionId"
],
"createSql":"CREATE UNIQUE INDEX `index_chatrooms_subscriptionId` ON `${TABLE_NAME}` (`subscriptionId`)"
},
{
"name":"index_chatrooms_updatedAt",
"unique":false,
"columnNames":[
"updatedAt"
],
"createSql":"CREATE INDEX `index_chatrooms_updatedAt` ON `${TABLE_NAME}` (`updatedAt`)"
},
{
"name":"index_chatrooms_lastMessageUserId",
"unique":false,
"columnNames":[
"lastMessageUserId"
],
"createSql":"CREATE INDEX `index_chatrooms_lastMessageUserId` ON `${TABLE_NAME}` (`lastMessageUserId`)"
}
],
"foreignKeys":[
{
"table":"users",
"onDelete":"NO ACTION",
"onUpdate":"NO ACTION",
"columns":[
"ownerId"
],
"referencedColumns":[
"id"
]
},
{
"table":"users",
"onDelete":"NO ACTION",
"onUpdate":"NO ACTION",
"columns":[
"userId"
],
"referencedColumns":[
"id"
]
},
{
"table":"users",
"onDelete":"NO ACTION",
"onUpdate":"NO ACTION",
"columns":[
"lastMessageUserId"
],
"referencedColumns":[
"id"
]
}
]
},
{
"tableName":"messages",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `roomId` TEXT NOT NULL, `message` TEXT NOT NULL, `timestamp` INTEGER NOT NULL, `senderId` TEXT, `updatedAt` INTEGER, `editedAt` INTEGER, `editedBy` TEXT, `senderAlias` TEXT, `avatar` TEXT, `type` TEXT, `groupable` INTEGER NOT NULL, `parseUrls` INTEGER NOT NULL, `pinned` INTEGER NOT NULL, `role` TEXT, `synced` INTEGER NOT NULL, `unread` INTEGER, PRIMARY KEY(`id`), FOREIGN KEY(`senderId`) REFERENCES `users`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION , FOREIGN KEY(`editedBy`) REFERENCES `users`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"roomId",
"columnName":"roomId",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"message",
"columnName":"message",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"timestamp",
"columnName":"timestamp",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"senderId",
"columnName":"senderId",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"updatedAt",
"columnName":"updatedAt",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"editedAt",
"columnName":"editedAt",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"editedBy",
"columnName":"editedBy",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"senderAlias",
"columnName":"senderAlias",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"avatar",
"columnName":"avatar",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"type",
"columnName":"type",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"groupable",
"columnName":"groupable",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"parseUrls",
"columnName":"parseUrls",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"pinned",
"columnName":"pinned",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"role",
"columnName":"role",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"synced",
"columnName":"synced",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"unread",
"columnName":"unread",
"affinity":"INTEGER",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"id"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[
{
"table":"users",
"onDelete":"NO ACTION",
"onUpdate":"NO ACTION",
"columns":[
"senderId"
],
"referencedColumns":[
"id"
]
},
{
"table":"users",
"onDelete":"NO ACTION",
"onUpdate":"NO ACTION",
"columns":[
"editedBy"
],
"referencedColumns":[
"id"
]
}
]
},
{
"tableName":"message_favorites",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`messageId` TEXT NOT NULL, `userId` TEXT NOT NULL, PRIMARY KEY(`messageId`, `userId`), FOREIGN KEY(`messageId`) REFERENCES `messages`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`userId`) REFERENCES `users`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )",
"fields":[
{
"fieldPath":"messageId",
"columnName":"messageId",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"userId",
"columnName":"userId",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"messageId",
"userId"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[
{
"table":"messages",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"messageId"
],
"referencedColumns":[
"id"
]
},
{
"table":"users",
"onDelete":"NO ACTION",
"onUpdate":"NO ACTION",
"columns":[
"userId"
],
"referencedColumns":[
"id"
]
}
]
},
{
"tableName":"message_mentions",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`messageId` TEXT NOT NULL, `userId` TEXT NOT NULL, PRIMARY KEY(`messageId`, `userId`), FOREIGN KEY(`messageId`) REFERENCES `messages`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`userId`) REFERENCES `users`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )",
"fields":[
{
"fieldPath":"messageId",
"columnName":"messageId",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"userId",
"columnName":"userId",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"messageId",
"userId"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[
{
"table":"messages",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"messageId"
],
"referencedColumns":[
"id"
]
},
{
"table":"users",
"onDelete":"NO ACTION",
"onUpdate":"NO ACTION",
"columns":[
"userId"
],
"referencedColumns":[
"id"
]
}
]
},
{
"tableName":"message_channels",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`messageId` TEXT NOT NULL, `roomId` TEXT NOT NULL, `roomName` TEXT, PRIMARY KEY(`messageId`, `roomId`), FOREIGN KEY(`messageId`) REFERENCES `messages`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"messageId",
"columnName":"messageId",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"roomId",
"columnName":"roomId",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"roomName",
"columnName":"roomName",
"affinity":"TEXT",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"messageId",
"roomId"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[
{
"table":"messages",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"messageId"
],
"referencedColumns":[
"id"
]
}
]
},
{
"tableName":"attachments",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` TEXT NOT NULL, `message_id` TEXT NOT NULL, `title` TEXT, `type` TEXT, `description` TEXT, `text` TEXT, `author_name` TEXT, `author_icon` TEXT, `author_link` TEXT, `thumb_url` TEXT, `color` TEXT, `fallback` TEXT, `title_link` TEXT, `title_link_download` INTEGER NOT NULL, `image_url` TEXT, `image_type` TEXT, `image_size` INTEGER, `video_url` TEXT, `video_type` TEXT, `video_size` INTEGER, `audio_url` TEXT, `audio_type` TEXT, `audio_size` INTEGER, `message_link` TEXT, `timestamp` INTEGER, `has_actions` INTEGER NOT NULL, `has_fields` INTEGER NOT NULL, `button_alignment` TEXT, PRIMARY KEY(`_id`), FOREIGN KEY(`message_id`) REFERENCES `messages`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"_id",
"columnName":"_id",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"messageId",
"columnName":"message_id",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"title",
"columnName":"title",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"type",
"columnName":"type",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"description",
"columnName":"description",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"text",
"columnName":"text",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"authorName",
"columnName":"author_name",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"authorIcon",
"columnName":"author_icon",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"authorLink",
"columnName":"author_link",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"thumbUrl",
"columnName":"thumb_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"color",
"columnName":"color",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"fallback",
"columnName":"fallback",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"titleLink",
"columnName":"title_link",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"titleLinkDownload",
"columnName":"title_link_download",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"imageUrl",
"columnName":"image_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"imageType",
"columnName":"image_type",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"imageSize",
"columnName":"image_size",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"videoUrl",
"columnName":"video_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"videoType",
"columnName":"video_type",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"videoSize",
"columnName":"video_size",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"audioUrl",
"columnName":"audio_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"audioType",
"columnName":"audio_type",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"audioSize",
"columnName":"audio_size",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"messageLink",
"columnName":"message_link",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"timestamp",
"columnName":"timestamp",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"hasActions",
"columnName":"has_actions",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"hasFields",
"columnName":"has_fields",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"buttonAlignment",
"columnName":"button_alignment",
"affinity":"TEXT",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"_id"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[
{
"table":"messages",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"message_id"
],
"referencedColumns":[
"id"
]
}
]
},
{
"tableName":"attachment_fields",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `attachmentId` TEXT NOT NULL, `title` TEXT NOT NULL, `value` TEXT NOT NULL, FOREIGN KEY(`attachmentId`) REFERENCES `attachments`(`_id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"attachmentId",
"columnName":"attachmentId",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"title",
"columnName":"title",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"value",
"columnName":"value",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"id"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_attachment_fields_attachmentId",
"unique":false,
"columnNames":[
"attachmentId"
],
"createSql":"CREATE INDEX `index_attachment_fields_attachmentId` ON `${TABLE_NAME}` (`attachmentId`)"
}
],
"foreignKeys":[
{
"table":"attachments",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"attachmentId"
],
"referencedColumns":[
"_id"
]
}
]
},
{
"tableName":"attachment_action",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `attachmentId` TEXT NOT NULL, `type` TEXT NOT NULL, `text` TEXT, `url` TEXT, `isWebView` INTEGER, `webViewHeightRatio` TEXT, `imageUrl` TEXT, `message` TEXT, `isMessageInChatWindow` INTEGER, FOREIGN KEY(`attachmentId`) REFERENCES `attachments`(`_id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"attachmentId",
"columnName":"attachmentId",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"type",
"columnName":"type",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"text",
"columnName":"text",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"url",
"columnName":"url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"isWebView",
"columnName":"isWebView",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"webViewHeightRatio",
"columnName":"webViewHeightRatio",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"imageUrl",
"columnName":"imageUrl",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"message",
"columnName":"message",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"isMessageInChatWindow",
"columnName":"isMessageInChatWindow",
"affinity":"INTEGER",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"id"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_attachment_action_attachmentId",
"unique":false,
"columnNames":[
"attachmentId"
],
"createSql":"CREATE INDEX `index_attachment_action_attachmentId` ON `${TABLE_NAME}` (`attachmentId`)"
}
],
"foreignKeys":[
{
"table":"attachments",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"attachmentId"
],
"referencedColumns":[
"_id"
]
}
]
},
{
"tableName":"urls",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`urlId` INTEGER PRIMARY KEY AUTOINCREMENT, `messageId` TEXT NOT NULL, `url` TEXT NOT NULL, `hostname` TEXT, `title` TEXT, `description` TEXT, `imageUrl` TEXT, FOREIGN KEY(`messageId`) REFERENCES `messages`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"urlId",
"columnName":"urlId",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"messageId",
"columnName":"messageId",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"url",
"columnName":"url",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"hostname",
"columnName":"hostname",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"title",
"columnName":"title",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"description",
"columnName":"description",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"imageUrl",
"columnName":"imageUrl",
"affinity":"TEXT",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"urlId"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_urls_messageId",
"unique":false,
"columnNames":[
"messageId"
],
"createSql":"CREATE INDEX `index_urls_messageId` ON `${TABLE_NAME}` (`messageId`)"
}
],
"foreignKeys":[
{
"table":"messages",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"messageId"
],
"referencedColumns":[
"id"
]
}
]
},
{
"tableName":"reactions",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`reaction` TEXT NOT NULL, `messageId` TEXT NOT NULL, `count` INTEGER NOT NULL, `usernames` TEXT NOT NULL, PRIMARY KEY(`reaction`), FOREIGN KEY(`messageId`) REFERENCES `messages`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"reaction",
"columnName":"reaction",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"messageId",
"columnName":"messageId",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"count",
"columnName":"count",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"usernames",
"columnName":"usernames",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"reaction"
],
"autoGenerate":false
},
"indices":[
{
"name":"index_reactions_messageId",
"unique":false,
"columnNames":[
"messageId"
],
"createSql":"CREATE INDEX `index_reactions_messageId` ON `${TABLE_NAME}` (`messageId`)"
}
],
"foreignKeys":[
{
"table":"messages",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"messageId"
],
"referencedColumns":[
"id"
]
}
]
},
{
"tableName":"messages_sync",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`roomId` TEXT NOT NULL, `timestamp` INTEGER NOT NULL, PRIMARY KEY(`roomId`))",
"fields":[
{
"fieldPath":"roomId",
"columnName":"roomId",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"timestamp",
"columnName":"timestamp",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"roomId"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[]
}
],
"setupQueries":[
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, \"f0e15bc95a0bb09b052c484704dd3abd\")"