diff --git a/db/main_images.sql b/db/main_images.sql new file mode 100644 index 000000000..360a219e7 --- /dev/null +++ b/db/main_images.sql @@ -0,0 +1 @@ +INSERT INTO images (image_id, format, checksum, name, data, is_deleted, date_modified, date_created) VALUES ('ed64aET6i379', 'png', 'z/dTlU0FQqgnmsIBRcLU5mU8OXg=', 'trilium-small.png', X'89504E470D0A1A0A0000000D49484452000000C8000000D30403000000366741F50000001D69545874436F6D6D656E7400000000004372656174656420776974682047494D50642E6507000000097048597300000B1300000B1301009A9C1800000024504C544547704C000000000000000000000000000000000000000000000000000000000000000000062BD2C90000000B74524E5300F02B14CA6145DFB37D989FBD378100000A8A4944415478DAED5CCF7FD3461657ADB5897D5AB70959E28B124402E522D2049270490A29747D5108D0B0B9B881241FCA656143BDC117B30B14F02585EE872DBE00093FB63EA9756227F3CF55D248A39134BFB23BC36533177012E9AB9979EFFBBEEFBD9135ED601C8CFFB3617D048CFC918F00D200FF548E310140C7508CA1970100871583982E06702A4A3132DE4400E8533F11772AB6CA89342008B8ABD6B4E0E828DC95560802EEA873768401BACA7C653102019B8A30721806D85504328883005B1DA344E3532520851806682B892B7371105057B1EDB504C8AE4A6F0F870A2E6E2641C039F9AB554A81ECA95F2D15849F5E2D00BE941D494A0410D9EBF507028674FB5A248148B62FBD4404D953C95B68485DAF6FB11BF763FFFFAB4C108CE5F7AC3935FC958DB6C4D529190CD25062C09EA42F9454F07DB4403039F9117DDE9167C00DB4587662F9DA0AB6E46E726AF248722231111CF69C742FE94BEF92AC2C4247127823AD58BBB268BE46B8614BB2BECF9348642CFCE12B3920E1FD1C83343D49E1F11691A8C2ADDF96551E80639AC8FE5D29725527AD56C4CC7262709642EB8329BBFE1FC6214A9A9895E9F32729594F489BBF4A94756D83927949898E35DABD26039F97412A54A70BFDD190472A1BD485FC6FCC4B1F1D1A1A3A9A8CEF242234494E2AB43ACB2F1F5CA8AE3DFECFD5C0934FD1293D98E46FFBC538B615125FFFD3799CA3FAE849F77ED96BE136260FD7DE6181639A6EDDD8247577A5795CF6535C577766114539C4B031027F177E5CDEAA56FBAB6B4F2FB130BE4925205F8576EA180C1D0E7F37FE4331B8AC788F419A3752AABD630509699B957FF9367C1C5F05E7F93EA6D2D5F2251677949156BD9CB8F21FB42CDAD2DFA7AA0E3D4C338509D81F353DBDD214173DFB46CBFC10FFD3C3A12F521CEE93A060944EC0EF51C8E654E79996BB9FA837994CEA28048ED293C418A8E864533E03DACFB5F106886552ABF03F16AB98B7875727E15EDADAE7364DFAF4DADA385E0D9A0E1C9E4AE725687AD98483CD6B933532C894FBEB3F55B41325BCA6D56407A61634F44CBC4EE52EFB0CA57EE8CF79C0D23E8FFE7A2360951D667EEF0A9672DC7CF5FBB4CC381732A18981C02DFA8C0672364852F09DEC83A998C1F2DFAF30A7B403B550676793AFB0DAB7B71637A84484CAA56F343D4C0A2B41A66BB3AB08752CABEC35FCCD25080F08D244FB163A6525D851835D903E17E549FDA17DD2E4EBADC80203A7346079B363B165C697484E769E6BB906D320D18677E7B56C0382946015822A08FC87F83E0471DE69B9D7ECE43BF25BD75DC6BDDD30A0976D73B2EFBE50093CB2F4179CBC052BFD0E18BE5356B2BC92400B8240A6BC6B4594BFC9CB44DCB1AE794E1980DCE188D85DA8CA772D2C74D92295F2BBDE1E55F2A8A0C24AC3F67C90AE118638BA05BBA327512BFDC6CEF3346204D2B1F1F5DE13AC30BBAB6AE47905BA4118A50F0167134BF83D83636F2346D8D0E058B9FA4800E20A1B7D4EAC277126DE22A94090B6C103B10ECD6AFA0DC16A6E7CBDDA361FC40C448DA57D17973982D5F2F63C0C64CCDEF858B8CB93B1B87547B036EB3C735D658637773300C997C5DB6A5191CE9367F91AF79289204CC5A33CA7766462F10D99FD2607C42BB64DE2287FE32441E5C8635F33DB7DE31F6E03E7E27BF4D7C7817825D7441526935563D67F8AEB593718ACA24FDCB42824EF58C539F564995642CE7D6F6133E7A7AA5325DFC775DC9A9357657E4C89DF37EE1E96C5CB07977D72444BDC29A5034A3A93F14968AAC412F471B76FB9A41D3E951B511BA91E6C9ED44E71E31CD4526205D67177EA6114058F7C36AF1379C1593B7F21C273059B2722444B9F5654F37723EA587299035A68BF5D1A1A1D1A7E81E73D13F41C8B1E88BD630AD9E43AFBBBEE3C3C0AD7F00B64BAAED4D25BDBC2E5C209DCAC7CA3EE4BE88DEE7542147269312F5CCE41E7530E23E9DEB1634FB06E116A78FBAB479A71355088DB4C1338B31401B28F0A08EA27D5B1CFA8899129771E517B1FCFF73D9181D893EE062B944F6160B9C69EE8B6870C1F59541627FCA9472CED297A9E6535DD1A6906BAC25F2E8B718D68C11B4DC44EDACFBA40FB43F0449E49EAF1F84FEA6C72A491702B0D99D646BA1BC4A0A5682AD3FB70F6849885ACBC6BF1A722D080427A36A933733301D372A7C2EF0D4D5297565FA8DE2E160DAE510A04C64586A8D1875796BC7F87D9791AB7C19915A1BAD7063B85E21DC61C1461BA26392F400CC639578ACE7031D9A1B5CD51EB6C87ECE1667C3E4887A3D6F7441A329CB8D0A029F0B288A84739109B4BCB34AF3E1582B05A5063620DDD32EDC05D06293D8D9F970EB0ADA3068E70BC8CE1F5C89DD85D3D9740BA3C95B3C3E5468E9875778E7674101118BD78B52816125CA7A3BADB1C6FBDD06370CE891418AC33C13BD690170C3B3D0C0E44DB4A73E741C1B34E632CA26D71B2AD9660941E61819C61970B7451AD39C78A04283F22CBBC82E8A1AD1693126ACC453F2998BBEA0DE6115B36DF3704337DCF8018DBF609CBE933A24233CB26B73C4BE5F588EEFB143B8AEBAC4AD1B7A247E64738B6D16018504354FC3739B6B1485F924800725493A7351CD6B69DA547AE82687299E509851EFAA698A22F189C61759F62B9709A689BA2E74D9BBC15CD011ADD47B5478E5CCE7019343A2CDBA51684FBF806FCA9980A4D315C01AFF570888BA3DAB18AFD2B4A9EC43979765C20FF68D10E2D2F0221B19CF5BCA9B3C1370DD2D2633567164816F6EC7A6DA13C2A69A9192002B2508ADA114220713581F5D38FD02803EFD43351162925FB31AC60394B42D14FBF88B756E6E915CC12E5CDA193F80D668FA633D28564FDB4F38E32E3E132ADC3117FC960E052EC06A3CBFFAE114AB45F2F9108E166ACC5B1439418C1633EB91ACE6674E5DA568D7CDEBDFD3609A32F6F250EDE5B44E30A9BD1177FF9F9CA956B2F3F3CB80DE863EDC955CC7E4E5FFB907C1C5CD56489B728168B849FAEC76ED47FFEE9CF5757965656AEBC7C708150F7364871863B76ADD5E4599B627F7F7FB1487E516183A095B8C35DE44C43FC91F032D049D16BFCB0992B8B837C46F451E6E8858E9E9D1106F99544CECCF1771763DC3851499E38628C6D42258139BCF367B986611E31B4DC5649707DA9BE481CCE13C36F33192678E8EEFE424D0804D35E028FD5F6B8CA6BC9B920E0A17BCDCDFBFB9CC977DCC7BAB714B6FD2AA6D73BF11C7C81FF6CDD4B38CBBE674FFA9D4765FA0BEFAEDE4C60DB413FC69BCCFAF538B59D606CFE139F2D0393AAC037A5FDE36E5F3097A0FD2C150DF49B14EBFF1A3A47D80AAF9878D8D2A96BD6A6049C635B4906727ADF1A892E6C05A966D8A9D1FF3293C2718A7F669CEAD4975F3EA8568BFEA8569FFEEB7A9AA70D336539CB1FAA21613BEE756BE8842E03687478C51D4B47C92ABA6212CC531FBEF6CBE3F3171FBB416849B83B474F5B3110E9EF33EA0490DD8F0122FD557CBD960691FED50591588E40E4BFBEDE4C834C4B07B99506A94B07194C83D8D2412652208E211D249F02694BC7887805812878E11B493A04F29B7C1064C308A4AE0064350952510052488028D8F7A8401E82ECA80009B56C08525702321207319480E46320AABE112338696D2AFAC2029C23E14C947DE14A0E9B89AAD50A1232389357CA4026D14CE4BC29492FFCF920E73475632A00692BC4F0A7E281D45582781D2B1744F5976B5D06F648C7560C92796D9B6F34D5236B9CB6B48371300E86FCF13BD6F24B588E3A21ED0000000049454E44AE426082', 0, '2018-01-08T04:41:30.663Z', '2018-01-08T04:41:30.663Z'); \ No newline at end of file diff --git a/db/main_notes.sql b/db/main_notes.sql index 615e4e156..ec14df86e 100644 --- a/db/main_notes.sql +++ b/db/main_notes.sql @@ -1,5 +1,5 @@ INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('root', 'root', 'root', 0, 0, '2017-12-22T11:41:07.000Z', '2017-12-22T11:41:07.000Z'); -INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('1Heh2acXfPNt', 'Trilium Demo', '
Welcome to Trilium Notes!
This is initial document provided by default Trilium to showcase some of its features and also give you some ideas how you might structure your notes. You can play with it, modify note content and tree structure as you wish.
If you need any help, visit Trilium wesite: https://github.com/zadam/trilium
Once you''re finished with experimenting and want to cleanup these pages, you can simply delete them all.
Trilium supports classic formatting like italic, bold, bold and italic. Of course you can add links like this one pointing to google.com
Ordered:
Unordered:
Whereof one cannot speak, thereof one must be silent”
– Ludwig Wittgenstein
', 0, 0, '2017-12-23T00:46:39.304Z', '2017-12-23T04:08:45.445Z'); +INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('1Heh2acXfPNt', 'Trilium Demo', '
Welcome to Trilium Notes!
This is initial document provided by default Trilium to showcase some of its features and also give you some ideas how you might structure your notes. You can play with it, modify note content and tree structure as you wish.
If you need any help, visit Trilium wesite: https://github.com/zadam/trilium
Once you''re finished with experimenting and want to cleanup these pages, you can simply delete them all.
Trilium supports classic formatting like italic, bold, bold and italic. Of course you can add links like this one pointing to google.com
Ordered:
Unordered:
Whereof one cannot speak, thereof one must be silent”
– Ludwig Wittgenstein
', 0, 0, '2017-12-23T00:46:39.304Z', '2017-12-23T04:08:45.445Z'); INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('3RkyK9LI18dO', 'Journal', '
Expand note on the left pane to see content.
', 0, 0, '2017-12-23T01:20:04.181Z', '2017-12-23T18:07:55.377Z'); INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('L1Ox40M1aEyy', '2016', 'No content.
', 0, 0, '2017-12-23T01:20:45.365Z', '2017-12-23T16:40:43.129Z'); INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('HJusZTbBU494', '2017', '
No content.
', 0, 0, '2017-12-23T01:20:50.709Z', '2017-12-23T16:41:03.119Z'); diff --git a/db/main_notes_image.sql b/db/main_notes_image.sql new file mode 100644 index 000000000..a78ce445c --- /dev/null +++ b/db/main_notes_image.sql @@ -0,0 +1 @@ +INSERT INTO notes_image (note_image_id, note_id, image_id, is_deleted, date_modified, date_created) VALUES ('2EtgRRPfk4Fi', '1Heh2acXfPNt', 'ed64aET6i379', 0, '2018-01-08T04:41:30.663Z', '2018-01-08T04:41:30.663Z'); \ No newline at end of file diff --git a/services/sql.js b/services/sql.js index 92dfa0a4c..313924b4a 100644 --- a/services/sql.js +++ b/services/sql.js @@ -31,11 +31,15 @@ const dbReady = new Promise((resolve, reject) => { const schema = fs.readFileSync(resource_dir.DB_INIT_DIR + '/schema.sql', 'UTF-8'); const notesSql = fs.readFileSync(resource_dir.DB_INIT_DIR + '/main_notes.sql', 'UTF-8'); const notesTreeSql = fs.readFileSync(resource_dir.DB_INIT_DIR + '/main_notes_tree.sql', 'UTF-8'); + const imagesSql = fs.readFileSync(resource_dir.DB_INIT_DIR + '/main_images.sql', 'UTF-8'); + const notesImageSql = fs.readFileSync(resource_dir.DB_INIT_DIR + '/main_notes_image.sql', 'UTF-8'); await doInTransaction(async () => { await executeScript(schema); await executeScript(notesSql); await executeScript(notesTreeSql); + await executeScript(imagesSql); + await executeScript(notesImageSql); const startNoteId = await getFirstValue("SELECT note_id FROM notes_tree WHERE parent_note_id = 'root' AND is_deleted = 0 ORDER BY note_position");