lazdatadesktop: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: lazdatadesktop
| Old | New | Line | |
|---|---|---|---|
| 1 | + | ## Purpose | |
| 2 | + | ||
| 3 | + | Lazdatadesktop is a database tool that can be used with Lazarus or standalone. It lets you manage data dictionaries, browse them etc. | |
| 4 | + | ||
| 5 | + |  | |
| 6 | + | ||
| 7 | + | ## Documentation | |
| 8 | + | ||
| 9 | + | No official documentation; see [here](http://www.freepascal.org/~michael/articles/lazdbdesktop/lazdbdesktop.pdf) for an article describing its use. | |
| 10 | + | ||
| 11 | + | ## Getting it | |
| 12 | + | ||
| 13 | + | Lazdatadesktop is a Lazarus project in the \<lazarusdir\>\tools\lazdatadesktop directory. Simply compile it like you would any other Lazarus project. | |
| 14 | + | ||
| 15 | + | You can add it to the Lazarus tools menu if you want to. | |
| 16 | + | ||
| 17 | + | ## Multi-language support | |
| 18 | + | ||
| 19 | + | The LazDataDesktop application has been translated into several languages. By default, it starts in the user's local language. If you want to run it in a different language use the command-line argument `-language lc` or `--language=lc` where "lc" is the language code abbreviation of the requested language, e. g. "ru" for Russian: `-language ru`. | |
| 20 | + | ||
| 21 | + | ## Extending LazDataDesktop | |
| 22 | + | ||
| 23 | + | You can add additional database drivers to Lazdatadesktop. We're assuming you're adding support for sqldb database drivers. You will need to perform additional work if adding e.g. ZEOS drivers. | |
| 24 | + | ||
| 25 | + | ### Basic support | |
| 26 | + | ||
| 27 | + | Basic support can be added by first adding support to FreePascal data dictionary code in \<fpcsource\>\packages\fcl-db\src\datadict: | |
| 28 | + | ||
| 29 | + | - creating a basic data dictionary unit. You could try copying and modifying another basic unit such as fpddmysql40.pp | |
| 30 | + | - edit buildd.lpr to add the unit you created above. | |
| 31 | + | - edit Makefile.fpc to add the unit to the packages_\<OS\>=* lines in the \[required\] section, and the \[target\] section. | |
| 32 | + | ||
| 33 | + | Recompile FPC to get support into Lazarus. | |
| 34 | + | ||
| 35 | + | Then add support to the data dictionary: | |
| 36 | + | ||
| 37 | + | - adding the data dictionary unit (e.g. fpddmysql51) to the implementation uses clause of frmmain.pp | |
| 38 | + | ||
| 39 | + | Recompile lazdatadesktop | |
| 40 | + | ||
| 41 | + | ### Full support | |
| 42 | + | ||
| 43 | + | For full support, you will need to edit the fpdd\<database\>.pp unit. | |
| 44 | + | ||
| 45 | + | An alternative approach would be to rewrite the fpddd* units to use database schema data from the underlying drivers (e.g. the sqldb drivers). | |
| 46 | + | ||
| 47 | + | --- | |
| 48 | + | *From the Free Pascal wiki, page "lazdatadesktop", as it stood on 2023-07-24 after a change by Wp, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* | |
| 49 | + | Category: Databases | |
| 50 | + | Category: Lazarus | |
| 51 | + | Category: Tools |
