Dev Prototype

24/10/2018 -> the Excel Report, current version:

23/10/2018 -> TODO (Excel Report):
* check and exclude the duplicates from the child tables list (done);
* sort the constrains properly in the same constraint- group i.e. FK, FK1,FK2, FK3 in the same order as the corresponding fields of the table (done);
* reflect the names of the constraints in the report as a bottom part after each table (done);
* use hyperlinks to jump to the parent or child table definition (done).


22/10/2018 -> improve the parent table representation in the Excel-report: the parent table must be allocated in the line with the corresponding foreign key.


09/10/2018 -> test on the real databases. Successfully scanned 4 databases:

Account (105/1147)
Agreement (93/609)
Party (107/903)
Compensation (123/1586).
These scans can be used as examples of realistic (big) databases for reports and graphical representations).

(!) ---> The Excel Report Design


05/10/2018 -> TO DO:

* Revise the main testing database. There should be detailed spec, what to expect from this DB to be able to compare with the results of the scanner work.

* The Reference Data have to be stored in the JSON- format (long term plan).


03/10/2018 -> TO DO:

* introduce the dynamic parameters of the DB being scanned: -driver, -url, -user, -password in the command line -> (done 04/10/2018);

* Implement recognition of the database type based on provided url (SQLServer so far) -> (done 04/10/2018);

* Implement cmd function: view -> read and print out the meta data, stored in the Apricot- project (done 06/10/2018);


Apricot meta model

The first version of the Apricot meta model. This is a database structure, which the meta information of the target database is stored in.

The storage database - H2. Alternatively, the metadata could be stored in XML- files. 

Target Databases

The following databases have to be served on the first stage of the project:

  1. Microsoft SQL Server;
  2. Oracle DB;
  3. H2 (has been used as a project data storage );
  4. MySQL

This requires the 4 implementations specific for different databases repositories.

UI (as on 12/10/2018)

There are several possible combinations of software to be used. JavaFX, Eclipse RCP and combination of JavaFX and EclipseRCP.

For the prototype solution I'll use pure JavaFX- approach (!). 

The Eclipse RCP is an interesting option and might be applied on some higher level of maturity of this projects (version 2?).


02/10/2018 The first successful scan of the testing database was done!