| 
									
										
										
										
											2017-12-10 22:16:20 -05:00
										 |  |  | CREATE TABLE IF NOT EXISTS "sync" (
 | 
					
						
							| 
									
										
										
										
											2019-03-24 21:06:38 +01:00
										 |  |  |                                     `id`	INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
 | 
					
						
							|  |  |  |                                     `entityName`	TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                     `entityId`	TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                     `sourceId` TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                     `utcSyncDate`	TEXT NOT NULL);
 | 
					
						
							| 
									
										
										
										
											2018-01-31 23:36:39 -05:00
										 |  |  | CREATE TABLE IF NOT EXISTS "source_ids" (
 | 
					
						
							| 
									
										
										
										
											2019-03-24 21:06:38 +01:00
										 |  |  |                                           `sourceId`	TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                           `utcDateCreated`	TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                           PRIMARY KEY(`sourceId`)
 | 
					
						
							| 
									
										
										
										
											2017-12-03 22:29:23 -05:00
										 |  |  | );
 | 
					
						
							| 
									
										
										
										
											2019-12-01 14:39:24 +01:00
										 |  |  | CREATE INDEX IDX_source_ids_utcDateCreated
 | 
					
						
							|  |  |  |     on source_ids (utcDateCreated);
 | 
					
						
							| 
									
										
										
										
											2018-04-02 22:33:54 -04:00
										 |  |  | CREATE TABLE IF NOT EXISTS "api_tokens"
 | 
					
						
							| 
									
										
										
										
											2018-01-11 00:01:16 -05:00
										 |  |  | (
 | 
					
						
							| 
									
										
										
										
											2018-04-02 22:33:54 -04:00
										 |  |  |   apiTokenId TEXT PRIMARY KEY NOT NULL,
 | 
					
						
							|  |  |  |   token TEXT NOT NULL,
 | 
					
						
							| 
									
										
										
										
											2019-03-24 21:06:38 +01:00
										 |  |  |   utcDateCreated TEXT NOT NULL,
 | 
					
						
							|  |  |  |   isDeleted INT NOT NULL DEFAULT 0,
 | 
					
						
							|  |  |  |   hash TEXT DEFAULT "" NOT NULL);
 | 
					
						
							| 
									
										
										
										
											2018-06-01 22:26:37 -04:00
										 |  |  | CREATE TABLE IF NOT EXISTS "options"
 | 
					
						
							|  |  |  | (
 | 
					
						
							| 
									
										
										
										
											2018-06-13 19:10:28 -04:00
										 |  |  |   name TEXT not null PRIMARY KEY,
 | 
					
						
							| 
									
										
										
										
											2018-06-01 22:26:37 -04:00
										 |  |  |   value TEXT,
 | 
					
						
							|  |  |  |   isSynced INTEGER default 0 not null,
 | 
					
						
							|  |  |  |   hash TEXT default "" not null,
 | 
					
						
							| 
									
										
										
										
											2019-03-24 21:06:38 +01:00
										 |  |  |   utcDateCreated TEXT not null,
 | 
					
						
							|  |  |  |   utcDateModified TEXT NOT NULL
 | 
					
						
							| 
									
										
										
										
											2018-04-11 00:10:11 -04:00
										 |  |  | );
 | 
					
						
							| 
									
										
										
										
											2019-03-11 20:36:19 +01:00
										 |  |  | CREATE UNIQUE INDEX `IDX_sync_entityName_entityId` ON `sync` (
 | 
					
						
							| 
									
										
										
										
											2019-03-24 21:06:38 +01:00
										 |  |  |                                                               `entityName`,
 | 
					
						
							|  |  |  |                                                               `entityId`
 | 
					
						
							|  |  |  |   );
 | 
					
						
							|  |  |  | CREATE INDEX `IDX_sync_utcSyncDate` ON `sync` (
 | 
					
						
							|  |  |  |                                             `utcSyncDate`
 | 
					
						
							|  |  |  |   );
 | 
					
						
							| 
									
										
										
										
											2019-10-19 12:36:16 +02:00
										 |  |  | CREATE TABLE IF NOT EXISTS "note_contents" (
 | 
					
						
							|  |  |  |                                                    `noteId`	TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                                    `content`	TEXT NULL DEFAULT NULL,
 | 
					
						
							|  |  |  |                                                    `hash` TEXT DEFAULT "" NOT NULL,
 | 
					
						
							|  |  |  |                                                    `utcDateModified` TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                                    PRIMARY KEY(`noteId`)
 | 
					
						
							|  |  |  | );
 | 
					
						
							|  |  |  | CREATE TABLE recent_notes
 | 
					
						
							|  |  |  | (
 | 
					
						
							|  |  |  |     noteId TEXT not null primary key,
 | 
					
						
							|  |  |  |     notePath TEXT not null,
 | 
					
						
							|  |  |  |     hash TEXT default "" not null,
 | 
					
						
							|  |  |  |     utcDateCreated TEXT not null,
 | 
					
						
							|  |  |  |     isDeleted INT
 | 
					
						
							|  |  |  | );
 | 
					
						
							| 
									
										
										
										
											2019-11-01 20:00:56 +01:00
										 |  |  | CREATE TABLE IF NOT EXISTS "note_revision_contents" (`noteRevisionId`	TEXT NOT NULL PRIMARY KEY,
 | 
					
						
							|  |  |  |                                                  `content`	TEXT,
 | 
					
						
							|  |  |  |                                                  hash TEXT DEFAULT '' NOT NULL,
 | 
					
						
							|  |  |  |                                                  `utcDateModified` TEXT NOT NULL);
 | 
					
						
							| 
									
										
										
										
											2020-01-03 10:48:36 +01:00
										 |  |  | CREATE TABLE IF NOT EXISTS "note_revisions" (`noteRevisionId`	TEXT NOT NULL PRIMARY KEY,
 | 
					
						
							|  |  |  |                                                  `noteId`	TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                                  `title`	TEXT,
 | 
					
						
							|  |  |  |                                                  `contentLength`	INT NOT NULL,
 | 
					
						
							|  |  |  |                                                  `isErased`	INT NOT NULL DEFAULT 0,
 | 
					
						
							|  |  |  |                                                  `isProtected`	INT NOT NULL DEFAULT 0,
 | 
					
						
							|  |  |  |                                                  `utcDateLastEdited` TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                                  `utcDateCreated` TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                                  `utcDateModified` TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                                  `dateLastEdited` TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                                  `dateCreated` TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                                  type TEXT DEFAULT '' NOT NULL,
 | 
					
						
							|  |  |  |                                                  mime TEXT DEFAULT '' NOT NULL,
 | 
					
						
							|  |  |  |                                                  hash TEXT DEFAULT '' NOT NULL);
 | 
					
						
							|  |  |  | CREATE INDEX `IDX_note_revisions_noteId` ON `note_revisions` (`noteId`);
 | 
					
						
							|  |  |  | CREATE INDEX `IDX_note_revisions_utcDateCreated` ON `note_revisions` (`utcDateCreated`);
 | 
					
						
							|  |  |  | CREATE INDEX `IDX_note_revisions_utcDateLastEdited` ON `note_revisions` (`utcDateLastEdited`);
 | 
					
						
							|  |  |  | CREATE INDEX `IDX_note_revisions_dateCreated` ON `note_revisions` (`dateCreated`);
 | 
					
						
							|  |  |  | CREATE INDEX `IDX_note_revisions_dateLastEdited` ON `note_revisions` (`dateLastEdited`);
 | 
					
						
							| 
									
										
										
										
											2019-11-01 22:09:51 +01:00
										 |  |  | CREATE TABLE IF NOT EXISTS "notes" (
 | 
					
						
							| 
									
										
										
										
											2019-11-11 22:57:51 +01:00
										 |  |  |                                            `noteId`	TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                            `title`	TEXT NOT NULL DEFAULT "note",
 | 
					
						
							|  |  |  |                                            `contentLength`	INT NOT NULL,
 | 
					
						
							|  |  |  |                                            `isProtected`	INT NOT NULL DEFAULT 0,
 | 
					
						
							|  |  |  |                                            `type` TEXT NOT NULL DEFAULT 'text',
 | 
					
						
							|  |  |  |                                            `mime` TEXT NOT NULL DEFAULT 'text/html',
 | 
					
						
							|  |  |  |                                            `hash` TEXT DEFAULT "" NOT NULL,
 | 
					
						
							|  |  |  |                                            `isDeleted`	INT NOT NULL DEFAULT 0,
 | 
					
						
							| 
									
										
										
										
											2020-01-03 10:48:36 +01:00
										 |  |  |                                            `deleteId`   TEXT DEFAULT NULL,
 | 
					
						
							| 
									
										
										
										
											2019-11-11 22:57:51 +01:00
										 |  |  |                                            `isErased`	INT NOT NULL DEFAULT 0,
 | 
					
						
							|  |  |  |                                            `dateCreated`	TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                            `dateModified`	TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                            `utcDateCreated`	TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                            `utcDateModified`	TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                            PRIMARY KEY(`noteId`));
 | 
					
						
							| 
									
										
										
										
											2019-11-01 22:09:51 +01:00
										 |  |  | CREATE INDEX `IDX_notes_isDeleted` ON `notes` (`isDeleted`);
 | 
					
						
							|  |  |  | CREATE INDEX `IDX_notes_title` ON `notes` (`title`);
 | 
					
						
							|  |  |  | CREATE INDEX `IDX_notes_type` ON `notes` (`type`);
 | 
					
						
							|  |  |  | CREATE INDEX `IDX_notes_dateCreated` ON `notes` (`dateCreated`);
 | 
					
						
							|  |  |  | CREATE INDEX `IDX_notes_dateModified` ON `notes` (`dateModified`);
 | 
					
						
							|  |  |  | CREATE INDEX `IDX_notes_utcDateModified` ON `notes` (`utcDateModified`);
 | 
					
						
							|  |  |  | CREATE INDEX `IDX_notes_utcDateCreated` ON `notes` (`utcDateCreated`);
 | 
					
						
							| 
									
										
										
										
											2020-01-03 10:48:36 +01:00
										 |  |  | CREATE TABLE IF NOT EXISTS "branches" (
 | 
					
						
							|  |  |  |                                           `branchId`	TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                           `noteId`	TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                           `parentNoteId`	TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                           `notePosition`	INTEGER NOT NULL,
 | 
					
						
							|  |  |  |                                           `prefix`	TEXT,
 | 
					
						
							|  |  |  |                                           `isExpanded`	INTEGER NOT NULL DEFAULT 0,
 | 
					
						
							|  |  |  |                                           `isDeleted`	INTEGER NOT NULL DEFAULT 0,
 | 
					
						
							|  |  |  |                                           `deleteId`    TEXT DEFAULT NULL,
 | 
					
						
							|  |  |  |                                           `utcDateModified`	TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                           utcDateCreated TEXT NOT NULL,
 | 
					
						
							|  |  |  |                                           hash TEXT DEFAULT "" NOT NULL,
 | 
					
						
							|  |  |  |                                           PRIMARY KEY(`branchId`));
 | 
					
						
							|  |  |  | CREATE INDEX `IDX_branches_noteId_parentNoteId` ON `branches` (`noteId`,`parentNoteId`);
 | 
					
						
							|  |  |  | CREATE INDEX IDX_branches_parentNoteId ON branches (parentNoteId);
 | 
					
						
							|  |  |  | CREATE TABLE IF NOT EXISTS "attributes"
 | 
					
						
							|  |  |  | (
 | 
					
						
							|  |  |  |     attributeId      TEXT not null primary key,
 | 
					
						
							|  |  |  |     noteId       TEXT not null,
 | 
					
						
							|  |  |  |     type         TEXT not null,
 | 
					
						
							|  |  |  |     name         TEXT not null,
 | 
					
						
							|  |  |  |     value        TEXT default '' not null,
 | 
					
						
							|  |  |  |     position     INT  default 0 not null,
 | 
					
						
							|  |  |  |     utcDateCreated  TEXT not null,
 | 
					
						
							|  |  |  |     utcDateModified TEXT not null,
 | 
					
						
							|  |  |  |     isDeleted    INT  not null,
 | 
					
						
							|  |  |  |     `deleteId`    TEXT DEFAULT NULL,
 | 
					
						
							|  |  |  |     hash         TEXT default "" not null,
 | 
					
						
							|  |  |  |     isInheritable int DEFAULT 0 NULL);
 | 
					
						
							|  |  |  | CREATE INDEX IDX_attributes_name_value
 | 
					
						
							|  |  |  |     on attributes (name, value);
 | 
					
						
							|  |  |  | CREATE INDEX IDX_attributes_noteId_index
 | 
					
						
							|  |  |  |     on attributes (noteId);
 | 
					
						
							|  |  |  | CREATE INDEX IDX_attributes_value_index
 | 
					
						
							|  |  |  |     on attributes (value);
 |