mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 18:36:30 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			143 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			143 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
| CREATE TABLE IF NOT EXISTS "sync" (
 | |
|   `id`	INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
 | |
|   `entityName`	TEXT NOT NULL,
 | |
|   `entityId`	TEXT NOT NULL,
 | |
|   `sourceId` TEXT NOT NULL,
 | |
|   `syncDate`	TEXT NOT NULL);
 | |
| CREATE UNIQUE INDEX `IDX_sync_entityName_entityId` ON `sync` (
 | |
|   `entityName`,
 | |
|   `entityId`
 | |
| );
 | |
| CREATE INDEX `IDX_sync_syncDate` ON `sync` (
 | |
|   `syncDate`
 | |
| );
 | |
| CREATE TABLE IF NOT EXISTS "source_ids" (
 | |
|   `sourceId`	TEXT NOT NULL,
 | |
|   `dateCreated`	TEXT NOT NULL,
 | |
|   PRIMARY KEY(`sourceId`)
 | |
| );
 | |
| CREATE TABLE IF NOT EXISTS "note_revisions" (
 | |
|   `noteRevisionId`	TEXT NOT NULL PRIMARY KEY,
 | |
|   `noteId`	TEXT NOT NULL,
 | |
|   `title`	TEXT,
 | |
|   `content`	TEXT,
 | |
|   `isProtected`	INT NOT NULL DEFAULT 0,
 | |
|   `dateModifiedFrom` TEXT NOT NULL,
 | |
|   `dateModifiedTo` 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_dateModifiedFrom` ON `note_revisions` (
 | |
|   `dateModifiedFrom`
 | |
| );
 | |
| CREATE INDEX `IDX_note_revisions_dateModifiedTo` ON `note_revisions` (
 | |
|   `dateModifiedTo`
 | |
| );
 | |
| CREATE TABLE IF NOT EXISTS "api_tokens"
 | |
| (
 | |
|   apiTokenId TEXT PRIMARY KEY NOT NULL,
 | |
|   token TEXT NOT NULL,
 | |
|   dateCreated TEXT NOT NULL,
 | |
|   isDeleted INT NOT NULL DEFAULT 0
 | |
| , hash TEXT DEFAULT "" NOT NULL);
 | |
| 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`	BOOLEAN,
 | |
|   `isDeleted`	INTEGER NOT NULL DEFAULT 0,
 | |
|   `dateModified`	TEXT NOT NULL, hash TEXT DEFAULT "" NOT NULL, dateCreated TEXT NOT NULL DEFAULT '1970-01-01T00:00:00.000Z',
 | |
|   PRIMARY KEY(`branchId`)
 | |
| );
 | |
| CREATE INDEX `IDX_branches_noteId` ON `branches` (
 | |
|   `noteId`
 | |
| );
 | |
| CREATE INDEX `IDX_branches_noteId_parentNoteId` ON `branches` (
 | |
|   `noteId`,
 | |
|   `parentNoteId`
 | |
| );
 | |
| CREATE INDEX IDX_branches_parentNoteId ON branches (parentNoteId);
 | |
| CREATE TABLE IF NOT EXISTS "recent_notes" (
 | |
|   `branchId` TEXT NOT NULL PRIMARY KEY,
 | |
|   `notePath` TEXT NOT NULL,
 | |
|   hash TEXT DEFAULT "" NOT NULL,
 | |
|   `dateCreated` TEXT NOT NULL,
 | |
|   isDeleted INT
 | |
| );
 | |
| CREATE TABLE IF NOT EXISTS "event_log" (
 | |
|   `eventId`	TEXT NOT NULL PRIMARY KEY,
 | |
|   `noteId`	TEXT,
 | |
|   `comment`	TEXT,
 | |
|   `dateCreated`	TEXT NOT NULL
 | |
| );
 | |
| CREATE TABLE IF NOT EXISTS "options"
 | |
| (
 | |
|   name TEXT not null PRIMARY KEY,
 | |
|   value TEXT,
 | |
|   dateModified INT,
 | |
|   isSynced INTEGER default 0 not null,
 | |
|   hash TEXT default "" not null,
 | |
|   dateCreated TEXT default '1970-01-01T00:00:00.000Z' not null
 | |
| );
 | |
| CREATE TABLE 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,
 | |
|   dateCreated  TEXT not null,
 | |
|   dateModified TEXT not null,
 | |
|   isDeleted    INT  not null,
 | |
|   hash         TEXT default "" not null, isInheritable int DEFAULT 0 NULL);
 | |
| CREATE INDEX IDX_attributes_name_value
 | |
|   on attributes (name, value);
 | |
| CREATE TABLE IF NOT EXISTS "links" (
 | |
|   `linkId`	TEXT NOT NULL,
 | |
|   `noteId`	TEXT NOT NULL,
 | |
|   `targetNoteId`	TEXT NOT NULL,
 | |
|   `type` TEXT NOT NULL,
 | |
|   `hash` TEXT DEFAULT "" NOT NULL,
 | |
|   `isDeleted`	INTEGER NOT NULL DEFAULT 0,
 | |
|   `dateCreated`	TEXT NOT NULL,
 | |
|   `dateModified`	TEXT NOT NULL,
 | |
|   PRIMARY KEY(`linkId`)
 | |
| );
 | |
| CREATE INDEX IDX_links_noteId_index
 | |
|   on links (noteId);
 | |
| CREATE INDEX IDX_links_targetNoteId_index
 | |
|   on links (targetNoteId);
 | |
| CREATE INDEX IDX_attributes_name_index
 | |
|   on attributes (name);
 | |
| CREATE INDEX IDX_attributes_noteId_index
 | |
|   on attributes (noteId);
 | |
| CREATE INDEX IDX_attributes_value_index
 | |
|   on attributes (value);
 | |
| CREATE TABLE IF NOT EXISTS "note_contents" (
 | |
|   `noteContentId`	TEXT NOT NULL,
 | |
|   `noteId`	TEXT NOT NULL,
 | |
|   `isProtected`	INT NOT NULL DEFAULT 0,
 | |
|   `content`	TEXT NULL DEFAULT NULL,
 | |
|   `hash` TEXT DEFAULT "" NOT NULL,
 | |
|   `dateCreated`	TEXT NOT NULL,
 | |
|   `dateModified` TEXT NOT NULL,
 | |
|   PRIMARY KEY(`noteContentId`)
 | |
| );
 | |
| CREATE UNIQUE INDEX `IDX_note_contents_noteId` ON `note_contents` (`noteId`);
 | |
| CREATE TABLE IF NOT EXISTS "notes" (
 | |
|   `noteId`	TEXT NOT NULL,
 | |
|   `title`	TEXT NOT NULL DEFAULT "note",
 | |
|   `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,
 | |
|   `dateCreated`	TEXT NOT NULL,
 | |
|   `dateModified`	TEXT NOT NULL,
 | |
|   PRIMARY KEY(`noteId`)
 | |
| );
 |