Data Set Locations
Data sets which are to be migrated into the Rice Database are stored in the following Subversion repositories:
Application | Repository Root |
---|---|
Rice Standalone Server | https://svn.ucdavis.edu/svn/kuali/RiceStandaloneServer/rice-db/ |
MyInfoVault | https://svn.ucdavis.edu/svn/kuali/RiceApplications/MyInfoVault/ |
Kuali Financial System | https://svn.ucdavis.edu/svn/kuali/RiceApplications/KualiFinancialSystem/ |
Kuali COEUS | https://svn.ucdavis.edu/svn/kuali/RiceApplications/KualiCoeus/ |
UCD Time Reporting System | https://svn.ucdavis.edu/svn/kuali/RiceApplications/TimeReportingSystem/ |
Core Billing Project | https://svn.ucdavis.edu/svn/kuali/RiceApplications/CoreBilling/ |
Info | ||
---|---|---|
| ||
New developers should request SVN access by creating a ticket in the Kuali Rice Access JIRA project. |
Pre-production Deployments
- All deployments outside of the production environment will be executed from the client application trunk (e.g. https://svn.ucdavis.edu/svn/kuali/RiceApplications/KualiFinancialSystem/trunk)
- Pre-production deployment should follow the same data set requirements listed below.
Data Set Management Requirements
- Release versions of data sets must be stored in
<Repository Root/tags/<client release version>
(e.g. https://svn.ucdavis.edu/svn/kuali/RiceApplications/MyInfoVault/tags/3.5) - Only the Rice DBA and appropriate client application migrators have access to the
tags
directory in the repositories. - The data sets must come in the form of SQL scripts. Each deployment will contain a deployment wrapper script and then one or more data scripts.
- You can download templates of deploy script and data script.
Code Block |
---|
...
|
...
borderStyle | solid |
---|---|
title | Example:DataSetDriver.sql |
...
|
...
INSERT INTO KRIM_COUNTRY_T...
INSERT INTO KRIM_CAMPUS_T...
| ||
---------------Opening Section-------------------
COL DT NOPRINT NEW_VALUE db_date;
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD-HH24MISS') DT FROM DUAL;
COL db NOPRINT NEW_VALUE db_name;
SELECT SYS_CONTEXT ('RICE', 'MOTHRA') DB FROM DUAL;
----- Name the spool file -----
SPOOL ./deploy-rice-KR-<Jira-####>--&db_date-&db_name.log;
SET ECHO ON;
SET TERMOUT ON;
SET VERIFY OFF;
SET TRIMSPOOL ON;
SET SERVEROUTPUT ON SIZE 1000000;
WHENEVER SQLERROR EXIT SQL.SQLCODE ROLLBACK;
WHENEVER OSERROR EXIT SQL.SQLCODE ROLLBACK;
SET ECHO ON;
----- RICE KR-#### Deployment -----
SHOW USER;
@<child-script1>.sql
@<child-script2>.sql
----- Deployment Complete -----
SPOOL OFF;
|
Code Block | ||||
---|---|---|---|---|
| ||||
SET SQLBLANKLINES ON SET DEFINE OFF -- DDL/DML Statements -- DDL/DML Statements commit; / |
Data Set Migration Process
- A migrator files a ticket in the Kuali Rice JIRA project requesting migration of a data set to the Rice database. The JIRA ticket should provide a link to the SVN location of the data files. The Jira ticket request should include a Priority as well as targeted date and time for the deployment.
- Upon approval, the migrator copies the data set to the
<Repository Root/tags/<client release version>
directory, citing the Kuali Rice JIRA ticket. borderStyleCode Block solid title Example:Migrating to <tags> borderStyle solid svn copy https://svn.ucdavis.edu/svn/kuali/RiceApplications/KualiCoeus/trunk/datasets https://svn.ucdavis.edu/svn/kuali/RiceApplications/KualiCoeus/tags/2.0 -m "<KR JIRA ticket>"
- Prior to a release, the migrator adds a task (or requests that a task be added) in the Deployment Plan stating that the data set is to be migrated.
- The Rice Service Manager creates a ticket in the Kuali Rice JIRA project that reflects this task and assigns it to the Rice DBA.
- Jira ticket should specify the KR_1234_deploy.sql script to execute.
- Jira Ticket should contain the specific repository location of the script(s): (eg. https://svn.ucdavis.edu/svn/kuali/RiceApplications/<Application>/tags/<release_version>)
- The Rice DBA checks the data set out from the repository.
$ svn co
Code Block borderStyle solid title Example:Checking Out Data Set from Repository - Log onto the appropriate database server
- cd /opt/pkg/oracle/subversion
- Execute svn co https://svn.ucdavis.edu/svn/kuali/RiceApplications/
- <Application>/
- tags/<release_version> command against the repository location provided in the Jira Ticket.
Code Block $ svn co https://svn.ucdavis.edu/svn/kuali/RiceApplications/
<Application>/tags/
<release_version> <Application>
- This will create an <Application> directory with a <release_version> subdirectory
- If the <Application>/<release_version> directory exists from a previous deployment:
- cd /opt/pkg/oracle/subversion/<Application>/<release_version>
- Execute svn update
Code Block $ cd /opt/pkg/oracle/subversion/<Application>/<release_version> $ svn update
- The <release_version> subdirectory will contain script(s) which will be named for the Jira ticket number (eg. KR-1234.sql).
- Access Mothra Test DB as environment schema owner noted in Jira ticket and execute script:
Code Block sqlplus <environment schema owner>/<password> @KR_####_deploy.sql
- The Rice DBA attaches the script output to the JIRA ticket
- During a dry-run deployment, the Rice DBA executes the data set scripts against the UPSTAGE environment database.
- At deployment time, the Rice DBA executes the data set scripts against the production database.