Evolutility.org 4.1

Database pre-requisites for Evolutility

Evolutility can adapt to different database structures and can map your database tables. Its built-in ORM (Object Relational Mapper) features covers basic CRUD. It requires to create the following database objects:


Evolutility database objects

Object Description
EVOL_User Table storing user information.
EVOL_Comment Table storing user comments.
EvoSP_PagedItem Stored procedure for lists of records.
EvoSP_Login Stored procedure for user authentication. Different Stored procedures can be specified for different applications.

Installation SQL scripts:

  • Evol-Common.sql - EvoSP_PagedItem.
  • Evol-MultiUsers.sql - EVOL_User, EVOL_Comment, and EvoSP_Login.

Evolutility ORM limitations and work-arounds

Some of these limitations can be overcome by creating database views (especially for LOVs).

  • Primary keys must be single columns of type integer.
  • Tables used for List of values (LOV) must use a primary key called "ID".
  • Evolutility doesn't support having 2 fields using the same LOV table.
  • Selections and paging must be handled by the stored procedure "EvoSP_PagedItem" (or an equivalent).

Most of these can be worked around by creation database views for list of values tables.
Example: CREATE VIEW LOV_Category AS SELECT Category_ID AS ID, Title as Name

Database pre-requisite for collaboration

To let users post comments on a database table, the table must have a column "CommentCount" (of type int).

By default, comments are saved in the database table “Evol_Comment” but another table can be specified using the attribute dbtablecomments in the XML. Other specifications are possible with dbcommentsformid and dbcommentsuserpage.

Notes: Additional requirements for Evolutility Dictionary.


Support for MySQL database

To use Evolutility with MySQL instead of Microsoft SQLServer, you must replace some of the files in "Evolutility.zip" with in the ones in "Evolutility_MySQL.zip".

In the source code, database is specified using preprocessor directives:

  • for Microsoft SQL Server or SQL Express:

    #undef DB_MySQL

  • for MySQL:
  • #define DB_MySQL