mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 10:26:08 +01:00 
			
		
		
		
	
		
			
	
	
		
			208 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			MySQL
		
	
	
	
	
	
		
		
			
		
	
	
			208 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			MySQL
		
	
	
	
	
	
|  | CREATE TABLE "options_mig" (
 | ||
|  |     `name`	TEXT NOT NULL PRIMARY KEY,
 | ||
|  |     `value`	TEXT,
 | ||
|  |     `dateModified` INT,
 | ||
|  |     isSynced INTEGER NOT NULL DEFAULT 0);
 | ||
|  | 
 | ||
|  | INSERT INTO options_mig (name, value, dateModified, isSynced)
 | ||
|  |     SELECT opt_name, opt_value, date_modified, is_synced FROM options;
 | ||
|  | 
 | ||
|  | DROP TABLE options;
 | ||
|  | ALTER TABLE options_mig RENAME TO options;
 | ||
|  | 
 | ||
|  | CREATE TABLE "sync_mig" (
 | ||
|  |   `id`	INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
 | ||
|  |   `entityName`	TEXT NOT NULL,
 | ||
|  |   `entityId`	TEXT NOT NULL,
 | ||
|  |   `sourceId` TEXT NOT NULL,
 | ||
|  |   `syncDate`	TEXT NOT NULL);
 | ||
|  | 
 | ||
|  | INSERT INTO sync_mig (id, entityName, entityId, sourceId, syncDate)
 | ||
|  |     SELECT id, entity_name, entity_id, source_id, sync_date FROM sync;
 | ||
|  | 
 | ||
|  | DROP TABLE sync;
 | ||
|  | ALTER TABLE sync_mig RENAME TO sync;
 | ||
|  | 
 | ||
|  | CREATE UNIQUE INDEX `IDX_sync_entityName_entityId` ON `sync` (
 | ||
|  |   `entityName`,
 | ||
|  |   `entityId`
 | ||
|  | );
 | ||
|  | 
 | ||
|  | CREATE INDEX `IDX_sync_syncDate` ON `sync` (
 | ||
|  |   `syncDate`
 | ||
|  | );
 | ||
|  | 
 | ||
|  | CREATE TABLE `source_ids_mig` (
 | ||
|  |   `sourceId`	TEXT NOT NULL,
 | ||
|  |   `dateCreated`	TEXT NOT NULL,
 | ||
|  |   PRIMARY KEY(`sourceId`)
 | ||
|  | );
 | ||
|  | 
 | ||
|  | INSERT INTO source_ids_mig (sourceId, dateCreated)
 | ||
|  |     SELECT source_id, date_created FROM source_ids;
 | ||
|  | 
 | ||
|  | DROP TABLE source_ids;
 | ||
|  | ALTER TABLE source_ids_mig RENAME TO source_ids;
 | ||
|  | 
 | ||
|  | CREATE TABLE "notes_mig" (
 | ||
|  |   `noteId`	TEXT NOT NULL,
 | ||
|  |   `title`	TEXT,
 | ||
|  |   `content`	TEXT,
 | ||
|  |   `isProtected`	INT NOT NULL DEFAULT 0,
 | ||
|  |   `isDeleted`	INT NOT NULL DEFAULT 0,
 | ||
|  |   `dateCreated`	TEXT NOT NULL,
 | ||
|  |   `dateModified`	TEXT NOT NULL,
 | ||
|  |   type TEXT NOT NULL DEFAULT 'text',
 | ||
|  |   mime TEXT NOT NULL DEFAULT 'text/html',
 | ||
|  |   PRIMARY KEY(`noteId`)
 | ||
|  | );
 | ||
|  | 
 | ||
|  | INSERT INTO notes_mig (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified, type, mime)
 | ||
|  |     SELECT note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified, type, mime FROM notes;
 | ||
|  | 
 | ||
|  | DROP TABLE notes;
 | ||
|  | ALTER TABLE notes_mig RENAME TO notes;
 | ||
|  | 
 | ||
|  | CREATE INDEX `IDX_notes_isDeleted` ON `notes` (
 | ||
|  |   `isDeleted`
 | ||
|  | );
 | ||
|  | 
 | ||
|  | CREATE TABLE `event_log_mig` (
 | ||
|  |   `id`	INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
 | ||
|  |   `noteId`	TEXT,
 | ||
|  |   `comment`	TEXT,
 | ||
|  |   `dateAdded`	TEXT NOT NULL,
 | ||
|  |   FOREIGN KEY(noteId) REFERENCES notes(noteId)
 | ||
|  | );
 | ||
|  | 
 | ||
|  | INSERT INTO event_log_mig (id, noteId, comment, dateAdded)
 | ||
|  |     SELECT id, note_id, comment, date_added FROM event_log;
 | ||
|  | 
 | ||
|  | DROP TABLE event_log;
 | ||
|  | ALTER TABLE event_log_mig RENAME TO event_log;
 | ||
|  | 
 | ||
|  | CREATE TABLE "note_tree" (
 | ||
|  |   `noteTreeId`	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,
 | ||
|  |   PRIMARY KEY(`noteTreeId`)
 | ||
|  | );
 | ||
|  | 
 | ||
|  | INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified)
 | ||
|  |     SELECT note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified FROM notes_tree;
 | ||
|  | 
 | ||
|  | DROP TABLE notes_tree;
 | ||
|  | 
 | ||
|  | CREATE INDEX `IDX_note_tree_noteId` ON `note_tree` (
 | ||
|  |   `noteId`
 | ||
|  | );
 | ||
|  | 
 | ||
|  | CREATE INDEX `IDX_note_tree_noteId_parentNoteId` ON `note_tree` (
 | ||
|  |   `noteId`,
 | ||
|  |   `parentNoteId`
 | ||
|  | );
 | ||
|  | 
 | ||
|  | CREATE TABLE "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
 | ||
|  | );
 | ||
|  | 
 | ||
|  | INSERT INTO note_revisions (noteRevisionId, noteId, title, content, isProtected, dateModifiedFrom, dateModifiedTo)
 | ||
|  |     SELECT note_history_id, note_id, note_title, note_text, is_protected, date_modified_from, date_modified_to FROM notes_history;
 | ||
|  | 
 | ||
|  | DROP TABLE notes_history;
 | ||
|  | 
 | ||
|  | 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 `recent_notes_mig` (
 | ||
|  |   `noteTreeId` TEXT NOT NULL PRIMARY KEY,
 | ||
|  |   `notePath` TEXT NOT NULL,
 | ||
|  |   `dateAccessed` TEXT NOT NULL,
 | ||
|  |   isDeleted INT
 | ||
|  | );
 | ||
|  | 
 | ||
|  | INSERT INTO recent_notes_mig (noteTreeId, notePath, dateAccessed, isDeleted)
 | ||
|  |     SELECT note_tree_id, note_path, date_accessed, is_deleted FROM recent_notes;
 | ||
|  | 
 | ||
|  | DROP TABLE recent_notes;
 | ||
|  | ALTER TABLE recent_notes_mig RENAME TO recent_notes;
 | ||
|  | 
 | ||
|  | CREATE TABLE images_mig
 | ||
|  | (
 | ||
|  |   imageId TEXT PRIMARY KEY NOT NULL,
 | ||
|  |   format TEXT NOT NULL,
 | ||
|  |   checksum TEXT NOT NULL,
 | ||
|  |   name TEXT NOT NULL,
 | ||
|  |   data BLOB,
 | ||
|  |   isDeleted INT NOT NULL DEFAULT 0,
 | ||
|  |   dateModified TEXT NOT NULL,
 | ||
|  |   dateCreated TEXT NOT NULL
 | ||
|  | );
 | ||
|  | 
 | ||
|  | INSERT INTO images_mig (imageId, format, checksum, name, data, isDeleted, dateModified, dateCreated)
 | ||
|  |     SELECT image_id, format, checksum, name, data, is_deleted, date_modified, date_created FROM images;
 | ||
|  | 
 | ||
|  | DROP TABLE images;
 | ||
|  | ALTER TABLE images_mig RENAME TO images;
 | ||
|  | 
 | ||
|  | CREATE TABLE note_images
 | ||
|  | (
 | ||
|  |   noteImageId TEXT PRIMARY KEY NOT NULL,
 | ||
|  |   noteId TEXT NOT NULL,
 | ||
|  |   imageId TEXT NOT NULL,
 | ||
|  |   isDeleted INT NOT NULL DEFAULT 0,
 | ||
|  |   dateModified TEXT NOT NULL,
 | ||
|  |   dateCreated TEXT NOT NULL
 | ||
|  | );
 | ||
|  | 
 | ||
|  | INSERT INTO note_images (noteImageId, noteId, imageId, isDeleted, dateModified, dateCreated)
 | ||
|  |     SELECT note_image_id, note_id, image_id, is_deleted, date_modified, date_created FROM notes_image;
 | ||
|  | 
 | ||
|  | DROP TABLE notes_image;
 | ||
|  | 
 | ||
|  | CREATE INDEX IDX_note_images_noteId ON note_images (noteId);
 | ||
|  | 
 | ||
|  | CREATE INDEX IDX_note_images_imageId ON note_images (imageId);
 | ||
|  | 
 | ||
|  | CREATE INDEX IDX_note_images_noteId_imageId ON note_images (noteId, imageId);
 | ||
|  | 
 | ||
|  | CREATE TABLE attributes_mig
 | ||
|  | (
 | ||
|  |   attributeId TEXT PRIMARY KEY NOT NULL,
 | ||
|  |   noteId TEXT NOT NULL,
 | ||
|  |   name TEXT NOT NULL,
 | ||
|  |   value TEXT,
 | ||
|  |   dateCreated TEXT NOT NULL,
 | ||
|  |   dateModified TEXT NOT NULL
 | ||
|  | );
 | ||
|  | 
 | ||
|  | INSERT INTO attributes_mig (attributeId, noteId, name, value, dateCreated, dateModified)
 | ||
|  |     SELECT attribute_id, note_id, name, value, date_created, date_modified FROM attributes;
 | ||
|  | 
 | ||
|  | DROP TABLE attributes;
 | ||
|  | ALTER TABLE attributes_mig RENAME TO attributes;
 | ||
|  | 
 | ||
|  | CREATE INDEX IDX_attributes_noteId ON attributes (noteId);
 | ||
|  | 
 | ||
|  | CREATE UNIQUE INDEX IDX_attributes_noteId_name ON attributes (noteId, name);
 |