Description of problem: A new build is needed for FSW beta to change how DB tables are created. With the current (ER3) project code, the installer auto-creates the H2 DB tables. The H2 dialect (persistence.xml) is built into the jars and the tables are automatically created during the installation. This has to change or beta users will not be able to migrate their beta installs to use a different database when the DB schema tool becomes available. The change removes the dialect from the jars, and adds optional auto-create through the installer. The changes to make things database agnostic will be in the new project builds. The scripts to create tables will be provided separately, and also runnable via the installer. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
Notes from technical call: thauser, stejohns, jdc Change effect for Installer: 1) If no database (from ERD rdbms), then default to H2 Pick up default settings from CLI properties file to fill db credentials. See <soa-install>/cli-scripts/*-h2.properties 2) Set database credentials (for chosen database) H2 as example. See <soa-install>/cli-scripts/*.properties for ERD databases db.driver=h2 db.url=jdbc:h2:${jboss.server.data.dir}${/}h2${/}soa;mvcc=true db.user=soa db.password=soa 3) Create H2 database if chosen default path for db file to jdbc:h2:${jboss.server.data.dir}/h2/soa;mvcc=true 4) DataSource Setup Step Set all SOA DataSources to point at same rdbms credentials ie same rdbms instance (url), same account credentials. 5) New installer step - "Do you wish to install Database Schema now?" after DataSource Setup If yes then information dialog box - Please create user account before proceeding (or ask your database admin to create an account) see db credentials step (2) run sql files in <soa-install>/sql (there is an ant build.xml in dir) If no then information dialog box - Please see your database administrator to run <soa-install>/sql files. using db credentials details from step (2) To run sql call ant build.xml or direct from java. The script is driven of database credentials set in step (2) and the hibernate dialect. There will need to be a Map in the installer which can hold the driver/db name mapping to hibernate dialect. Hibernate dialects used: DB2Dialect H2Dialect MySQL5Dialect Oracle10gDialect PostgreSQLDialect SQLServer2008Dialect
The installer now runs the sql contained in <soa-install>/sql, depending upon the packs chosen in the installation process.
Verified in the Oct 4, ER4, respin #2 build. Seeing the following 76 tables created in an MySQL 5.5 database. Attachment BAMTaskSummary BooleanExpression BPAF_EVENT BPAF_EVENT_DATA BPEL_ACTIVITY_RECOVERY BPEL_CORRELATION_SET BPEL_CORRELATOR BPEL_CORSET_PROP BPEL_EVENT BPEL_FAULT BPEL_MESSAGE BPEL_MESSAGE_EXCHANGE BPEL_MESSAGE_ROUTE BPEL_MEX_PROP BPEL_PARTNER_LINK BPEL_PROCESS BPEL_PROCESS_INSTANCE BPEL_SCOPE BPEL_XML_DATA BPEL_XML_DATA_PROP Content ContextMappingInfo CorrelationKeyInfo CorrelationPropertyInfo Deadline Delegation_delegates email_header Escalation EventTypes GS_APP_DATA GS_GADGET GS_GROUP GS_PAGE GS_USER GS_USER_GROUP GS_WIDGET GS_WIDGET_PREF hibernate_sequence I18NText ispn_bucket_sramp NodeInstanceLog Notification Notification_BAs Notification_email_header Notification_Recipients ODE_JOB OrganizationalEntity PeopleAssignments_BAs PeopleAssignments_ExclOwners PeopleAssignments_PotOwners PeopleAssignments_Recipients PeopleAssignments_Stakeholders ProcessInstanceInfo ProcessInstanceLog Reassignment Reassignment_potentialOwners RTGOV_ACTIVITIES RTGOV_ACTIVITY_CONTEXT RTGOV_ACTIVITY_PROPERTIES RTGOV_ACTIVITY_UNITS RTGOV_SITUATIONS RTGOV_SITUATION_ACTIVITY_TYPES RTGOV_SITUATION_CONTEXT RTGOV_SITUATION_PROPERTIES SessionInfo STORE_DU STORE_PROCESS STORE_PROCESS_PROP STORE_PROC_TO_PROP STORE_VERSIONS Task TaskEvent task_comment VariableInstanceLog WorkItemInfo