at3s 4 Posted February 24, 2021 What is a way in Delphi FMX application to apply changes in SQLite database. F.e., there is an application v 1.0 in PlayMarked with the SQLite database v 0.1. New version 1.1 of an application comes with the database v 0.2 where was added new table, removed one field etc. How Delphi do (or not do and you did it instead) those migration work? When I was developing an application in Xamarin, there was a tool and it generated a "migration" script based on changes in DB classes, then Entity framework did all hard work. Share this post Link to post
Guest Posted February 24, 2021 5 hours ago, at3s said: How Delphi do (or not do and you did it instead) those migration work? if you don't have this tool at hand, you could do something like: read the structure of your old SQLite DB create a new SQLite DB based on old structure with new fields, of course! add old records to the new DB Since SQLite is a DB that is easy to use and install (you only need to have the file without any Engine installations (DLL) etc ...), it is easy to do the task! Using FireDAC, which will give you everything in a much easier way, you will be able to make use of FDBatchMove's components / classes for the task of feeding your new DB extremely quickly! As SQLite allows you to create a file (DB file) either on disk or memory, you have the entire environment ready to create the new SQLite DB. Using FDMemTable, you can still work with data, select fields, values, data definitions, etc ... In general, FireDAC will be your simple and easy solution to do this or any other migration. At the end, you can delete the old file and define the new one as your DB. It looks complicated, but it really isn't! It all depends on your skill and complexity of the old file! Hug Share this post Link to post
at3s 4 Posted February 25, 2021 Thanks, FDBatchMove seems like a good start point. Share this post Link to post