Change the DB from MySQL to PostgreSQL 19/10319/2
authorGuangrong Fu <fu.guangrong@zte.com.cn>
Tue, 5 Sep 2017 08:46:26 +0000 (16:46 +0800)
committerGuangrong Fu <fu.guangrong@zte.com.cn>
Tue, 5 Sep 2017 09:20:51 +0000 (17:20 +0800)
Change-Id: If3e82cca0b27c5e486762b22305c1575d76789fe
Issue-ID: HOLMES-49
Signed-off-by: Guangrong Fu <fu.guangrong@zte.com.cn>
pom.xml
rulemgt-standalone/src/main/assembly/Dockerfile
rulemgt-standalone/src/main/assembly/bin/initDB.sh
rulemgt-standalone/src/main/assembly/bin/run.sh
rulemgt-standalone/src/main/assembly/conf/rulemgt.yml
rulemgt-standalone/src/main/assembly/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql [new file with mode: 0644]
rulemgt/pom.xml

diff --git a/pom.xml b/pom.xml
index 8bd6468..f8dc5fb 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -48,7 +48,6 @@
 \r
 \r
         <stringtemplate.version>3.2.1</stringtemplate.version>\r
-        <mysql.connector.version>5.1.38</mysql.connector.version>\r
         <dropwizard.version>0.8.0</dropwizard.version>\r
         <reflections.version>0.9.9</reflections.version>\r
         <swagger.version>1.5.3</swagger.version>\r
@@ -57,6 +56,7 @@
         <jaxrs.consumer.version>5.0</jaxrs.consumer.version>\r
         <slf4j.version>1.6.1</slf4j.version>\r
         <quartz.version>2.2.1</quartz.version>\r
+        <postgres.jdbc.driver.version>42.1.1</postgres.jdbc.driver.version>\r
 \r
 \r
         <packagename>onap-holmes-rulemgt</packagename>\r
             </dependency>\r
 \r
             <dependency>\r
-                <groupId>mysql</groupId>\r
-                <artifactId>mysql-connector-java</artifactId>\r
-                <version>${mysql.connector.version}</version>\r
+                <groupId>org.postgresql</groupId>\r
+                <artifactId>postgresql</artifactId>\r
+                <version>${postgres.jdbc.driver.version}</version>\r
             </dependency>\r
 \r
+\r
             <dependency>\r
                 <groupId>org.antlr</groupId>\r
                 <artifactId>stringtemplate</artifactId>\r
index 2be3e4e..775f303 100644 (file)
@@ -20,7 +20,8 @@ WORKDIR /home/holmes
 ADD holmes-rulemgt-standalone-*-linux64.tar.gz /home/holmes/
 RUN chmod 755 /home/holmes/bin/*.sh
 
-#RUN apt-get install -y mysql-client
+#install the postgres client
+RUN apt-get install -y postgresql-client-9.5 postgresql-contrib-9.5
 
 ENTRYPOINT /home/holmes/bin/run.sh
 
index 6ec9947..c9b5705 100644 (file)
@@ -23,13 +23,16 @@ port=$3
 host=$4
 echo "start init holmes rulemgt db"
 main_path=$HOME/..
-cat $main_path/dbscripts/mysql/onap-holmes_rulemgt-createobj.sql
+cat $main_path/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql
 echo "user="$user
-echo "password"$password
+echo "password="$password
 echo "port="$port
 echo "host="$host
-mysql -u$user -p$password -P$port -h$host <$main_path/dbscripts/mysql/onap-holmes_rulemgt-createobj.sql
+export PGPASSWORD=$password
+psql -U $user -p $port -h $host -f $main_path/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql
+psql -U $user -p $port -h $host -d holmes --command 'select * from aplus_rule;'
 sql_result=$?
+unset PGPASSWORD
 cat "sql_result="$sql_result
 if [ $sql_result != 0 ] ; then
    echo "failed to init rulemgt database!"
index 4b36f72..2142059 100644 (file)
@@ -31,14 +31,14 @@ echo @JAVA_OPTS@ $JAVA_OPTS
 class_path="$main_path/:$main_path/holmes-rulemgt.jar"
 echo @class_path@ $class_path
 
-sed -i "s|url:.*|url: jdbc:mysql://$URL_JDBC/holmes|" "$main_path/conf/rulemgt.yml"
+sed -i "s|url:.*|url: jdbc:postgresql://$URL_JDBC/holmes|" "$main_path/conf/rulemgt.yml"
 sed -i "s|msbServerAddr:.*|msbServerAddr: http://$MSB_ADDR|" "$main_path/conf/rulemgt.yml"
 
 export SERVICE_IP=`hostname -i`
 echo SERVICE_IP=${SERVICE_IP}
 
 
-./bin/initDB.sh root rootpass 3306 "${URL_JDBC%:*}"
+./bin/initDB.sh holmes holmespwd 5432 "${URL_JDBC%:*}"
 
 "$JAVA" $JAVA_OPTS -classpath "$class_path" org.onap.holmes.rulemgt.RuleActiveApp server "$main_path/conf/rulemgt.yml"
 
index fe2e18e..0b9a24a 100644 (file)
@@ -47,10 +47,10 @@ logging:
 
 #database
 database:
-  driverClass: com.mysql.jdbc.Driver
-  user: root
-  password: rootpass
-  url: jdbc:mysql://10.74.156.206:3306/holmes
+  driverClass: org.postgresql.Driver
+  user: holmes
+  password: holmespwd
+  url: jdbc:postgresql://169.254.59.196:5432/holmes
   properties:
     charSet: UTF-8
   maxWaitForConnection: 1s
diff --git a/rulemgt-standalone/src/main/assembly/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql b/rulemgt-standalone/src/main/assembly/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql
new file mode 100644 (file)
index 0000000..fb1c86d
--- /dev/null
@@ -0,0 +1,59 @@
+--
+-- Copyright 2017 ZTE Corporation.
+--
+-- Licensed under the Apache License, Version 2.0 (the "License");
+-- you may not use this file except in compliance with the License.
+-- You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+/******************drop old database and user***************************/
+\c postgres;
+
+DROP DATABASE IF EXISTS holmes;
+
+DROP ROLE IF EXISTS holmes;
+
+/******************CREATE NEW DATABASE AND USER***************************/
+CREATE DATABASE holmes;
+
+CREATE ROLE holmes with PASSWORD 'holmespwd' LOGIN;
+
+\encoding UTF8;
+
+/******************DELETE OLD TABLE AND CREATE NEW***************************/
+\c holmes;
+
+CREATE TABLE APLUS_RULE (
+  RID VARCHAR(30) NOT NULL,
+  NAME VARCHAR(150) NOT NULL,
+  DESCRIPTION VARCHAR(4000) NULL,
+  ENABLE SMALLINT NOT NULL,
+  TEMPLATEID BIGINT NOT NULL,
+  ENGINEID VARCHAR(20)  NOT NULL,
+  ENGINETYPE VARCHAR(20)  NOT NULL,
+  CREATOR VARCHAR(20)  NOT NULL,
+  CREATETIME TIMESTAMP NOT NULL,
+  UPDATOR VARCHAR(20)  NULL,
+  UPDATETIME TIMESTAMP NULL,
+  PARAMS VARCHAR(4000) NULL,
+  CONTENT VARCHAR(4000) NOT NULL,
+  VENDOR VARCHAR(100)  NOT NULL,
+  PACKAGE VARCHAR(255) NULL,
+  PRIMARY KEY (RID),
+  UNIQUE (NAME)
+);
+
+CREATE INDEX IDX_APLUS_RULE_ENABLE ON APLUS_RULE (ENABLE);
+CREATE INDEX IDX_APLUS_RULE_TEMPLATEID ON APLUS_RULE (TEMPLATEID);
+CREATE INDEX IDX_APLUS_RULE_ENGINEID ON APLUS_RULE (ENGINEID);
+CREATE INDEX IDX_APLUS_RULE_ENGINETYPE ON APLUS_RULE (ENGINETYPE);
+
+GRANT ALL PRIVILEGES ON APLUS_RULE TO holmes;
+
index 9a9daf1..5aa0b72 100644 (file)
@@ -83,8 +83,8 @@
             <artifactId>lombok</artifactId>
         </dependency>
         <dependency>
-            <groupId>mysql</groupId>
-            <artifactId>mysql-connector-java</artifactId>
+            <groupId>org.postgresql</groupId>
+            <artifactId>postgresql</artifactId>
         </dependency>
         <dependency>
             <groupId>org.quartz-scheduler</groupId>