tag:blogger.com,1999:blog-4946864412455003694.post4750005845290199600..comments2020-02-05T10:56:11.109+05:00Comments on Программирование, Delphi и Лоцман: mORMotChaahttp://www.blogger.com/profile/14387721107858333063noreply@blogger.comBlogger12125tag:blogger.com,1999:blog-4946864412455003694.post-75449714788994802752015-11-13T09:30:35.284+05:002015-11-13T09:30:35.284+05:00Но ведь в случае интерфейсов есть проблема - каска...Но ведь в случае интерфейсов есть проблема - каскадное удаление, ссылочная целостность и создание таблиц нужно делать ручками на сервере? <br />Кстати, я извратился построить дерево по 200+ таблиц с каскадным удалением на чистом mORMot-е. Если нужно, обращайтесь.<br />Anonymoushttps://www.blogger.com/profile/00839847527000880107noreply@blogger.comtag:blogger.com,1999:blog-4946864412455003694.post-60285669948767392612015-11-13T09:02:53.379+05:002015-11-13T09:02:53.379+05:001. 63-х таблиц обычно достаточно.
2. Да, в данном ...1. 63-х таблиц обычно достаточно.<br />2. Да, в данном случае нельзя менять порядок таблиц в модели, т.е. можно только добавлять новые.<br />Вообще, в mORMot можно делать быстро и просто, а можно сложнее и гибче.<br />Я обычно использую <a href="http://synopse.info/files/html/Synopse%20mORMot%20Framework%20SAD%201.18.html#TITL_63" rel="nofollow">Client-Server services via interfaces</a>. Там можно реализовать логику любой сложности. И взаимодействие клиента и сервера более наглядно.Chaahttps://www.blogger.com/profile/14387721107858333063noreply@blogger.comtag:blogger.com,1999:blog-4946864412455003694.post-37356407341039734432015-11-12T16:44:47.950+05:002015-11-12T16:44:47.950+05:00Так, разобрался с TRecordReferenceToBeDeleted, и н...Так, разобрался с TRecordReferenceToBeDeleted, и нашёл ТАКИЕ грабли.. <br /><br />function TSQLRecord.RecordReference(Model: TSQLModel): TRecordReference;<br />begin<br /> if (self=nil) or (fID<=0) then<br /> result := 0 else begin<br /> result := Model.GetTableIndexExisting(PSQLRecordClass(Self)^);<br /> if result>63 then // TRecordReference handle up to 64=1 shl 6 tables<br /> result := 0 else<br /> inc(result,fID shl 6);<br /> end;<br />end;<br /><br />Вот так, по-простому, в первых 6 битах хранит номер!!! таблицы в модели, а в остальных - ID. И что получается ? А ничего хорошего:<br />1) Количество таблиц для всяких связок не должно превышать 63. <br />2) Если, не дай бог, поменяли модель, то кирдык всем связкам. Удобно, что говорить<br /><br />И как выворачиваться, непонятно :(Anonymoushttps://www.blogger.com/profile/00839847527000880107noreply@blogger.comtag:blogger.com,1999:blog-4946864412455003694.post-9903771661130298642015-11-12T14:53:14.850+05:002015-11-12T14:53:14.850+05:00Мил человек, подскажи, как сделать каскадное удале...Мил человек, подскажи, как сделать каскадное удаление? Уже всю голову сломал, документацию перерыл, но не хочет TRecordReferenceToBeDeleted нормально отрабатываться. <br />Задача - есть дерево, составленное из всяких TSQLRecord, нужно, чтобы при удалении узла убивались все потомки.Anonymoushttps://www.blogger.com/profile/00839847527000880107noreply@blogger.comtag:blogger.com,1999:blog-4946864412455003694.post-15205462315516863202015-11-12T14:08:34.832+05:002015-11-12T14:08:34.832+05:00Да, библиотека хорошая, но вопросов тьма...
Готов ...Да, библиотека хорошая, но вопросов тьма...<br />Готов финансировать небольшой проект на mORMot, может кому интересно будет...откликнитесь.Anonymoushttps://www.blogger.com/profile/16746782195834553026noreply@blogger.comtag:blogger.com,1999:blog-4946864412455003694.post-51592623353629750342014-12-14T21:50:50.110+05:002014-12-14T21:50:50.110+05:00Классная библиотека. Нагрузил парой тысяч корпорат...Классная библиотека. Нагрузил парой тысяч корпоративных клиентов http/rest. Работает как часы.Anonymoushttps://www.blogger.com/profile/07342312953785697302noreply@blogger.comtag:blogger.com,1999:blog-4946864412455003694.post-52536999873356381752014-11-17T10:49:24.739+05:002014-11-17T10:49:24.739+05:00Пасиб...Пасиб...Anonymoushttps://www.blogger.com/profile/05729931865421324477noreply@blogger.comtag:blogger.com,1999:blog-4946864412455003694.post-9465961846837459752014-11-17T10:30:18.827+05:002014-11-17T10:30:18.827+05:00Сейчас понял, о чем вы.
База test.db3 создается пр...Сейчас понял, о чем вы.<br />База test.db3 создается при запуске тестов, проект<br />mORMot-master\SQLite3\TestSQL3.dpr.Chaahttps://www.blogger.com/profile/14387721107858333063noreply@blogger.comtag:blogger.com,1999:blog-4946864412455003694.post-4679198575988687432014-11-17T09:48:21.351+05:002014-11-17T09:48:21.351+05:00Покажите тогда код, где она создаётся... Я не наше...Покажите тогда код, где она создаётся... Я не нашел!Anonymoushttps://www.blogger.com/profile/05729931865421324477noreply@blogger.comtag:blogger.com,1999:blog-4946864412455003694.post-2088641028335928262014-11-15T15:35:02.155+05:002014-11-15T15:35:02.155+05:00БД должна создаться автоматически при первом запус...БД должна создаться автоматически при первом запуске сервера.Chaahttps://www.blogger.com/profile/14387721107858333063noreply@blogger.comtag:blogger.com,1999:blog-4946864412455003694.post-33269913640911993942014-11-14T22:51:40.746+05:002014-11-14T22:51:40.746+05:00Хорошая статья, давно интересно было прочитать, но...Хорошая статья, давно интересно было прочитать, но времени мало очень, пиши ещё, спасибоAlex Egorovhttps://www.blogger.com/profile/15902083358694994129noreply@blogger.comtag:blogger.com,1999:blog-4946864412455003694.post-86173252113042773872014-11-14T19:38:32.358+05:002014-11-14T19:38:32.358+05:00Для изучения примеров нужна база test.db3.
Помогит...Для изучения примеров нужна база test.db3.<br />Помогите плиз её найти.Anonymoushttps://www.blogger.com/profile/05729931865421324477noreply@blogger.com