Re: [gnome-db] Progress update on my branch
Pavlo Solntsev <[email protected]> Thu, 29 Mar 2018 08:25:38 -0500
| Newsgroups | gmane.comp.gnome.db |
|---|---|
| Message-ID | <[email protected]> |
Interesting. Out of curiosity, why did you decide to build a separate library instead of polishing some other already available tools? It looks like it depends on libgda and libgda could be the best place to implement this feature. On Thu, 2018-03-29 at 06:12 +0000, Andrea Zagli wrote: > Il giorno gio 29 mar 2018 02:40:53 CEST, Pavlo Solntsev ha scritto: > > [...] > > > > Meanwhile, I have started a very optimistic project. I realized, > > that > > the code doesn't allow effectively manage databases. For example, > > create DB objects from user provided data, e.g. xml. Actually, > > there is > > a way to do so, but it is not flexible and it is understandable > > only by > > people who familiar with the code. My goal here is to develop a > > infrastructure to generate database from xml and retrieve database > > information to xml. I decided to do this via DDL API. A new object > > GdaDdlCreator will be introduced which will be responsible for > > parsing > > input xml file. Other additional objects, e.g. GdaDdlTable, > > GdaDdlView, > > GdaDdlPkey, etc. will be used and generated from the user provided > > xml > > file. Also, I am planning to allow object initialization using > > xmlNodePtr. It will allow generation of single object from multiple > > xml > > files. Having these objects, we can create them using a new API, > > e.g. > > gda_server_operation_prepare_create_ddl_table. After all this work > > , > > database should be generated/updated from simple xml without any > > code > > modification. It will also provide a convenient relationship > > between DB > > object and user data. Technically a parser may be written to > > generate > > such code from the xml file. > > > > I haven't pushed this work to git server yet. > > > > > i have a library that do the same things (WIP) (inspired by > http://www.liquibase.org/) > > http://saetta.ns0.it/gitweb?p=libzakdbt;a=summary