diff --git a/assembly/bin/supersonic-daemon.bat b/assembly/bin/supersonic-daemon.bat index 988d568f1..64e07244d 100644 --- a/assembly/bin/supersonic-daemon.bat +++ b/assembly/bin/supersonic-daemon.bat @@ -4,6 +4,7 @@ chcp 65001 set "sbinDir=%~dp0" call %sbinDir%/supersonic-common.bat %* +call %sbinDir%/supersonic-env.bat %* set "command=%~1" set "service=%~2" @@ -14,7 +15,7 @@ if "%service%"=="" ( ) if "%profile%"=="" ( - set "profile=local" + set "profile=%S2_DB_TYPE%" ) set "model_name=%service%" @@ -54,7 +55,8 @@ if "%command%"=="restart" ( set "webDir=%baseDir%\webapp" set "logDir=%baseDir%\logs" set "classpath=%baseDir%;%webDir%;%libDir%\*;%confDir%" - set "java-command=-Dfile.encoding=UTF-8 -Duser.language=Zh -Duser.region=CN -Duser.timezone=GMT+08 -Dspring.profiles.active=%profile% -Xms1024m -Xmx1024m -cp %CLASSPATH% %MAIN_CLASS%" + set "java-command=-Dfile.encoding=UTF-8 -Duser.language=Zh -Duser.region=CN -Duser.timezone=GMT+08 -Dspring.profiles.active=%profile% -Xms1024m + -Xmx1024m -cp %CLASSPATH% %MAIN_CLASS%" if not exist %logDir% mkdir %logDir% start /B java %java-command% >nul 2>&1 timeout /t 10 >nul diff --git a/assembly/bin/supersonic-daemon.sh b/assembly/bin/supersonic-daemon.sh index 4fc711b16..653c53868 100755 --- a/assembly/bin/supersonic-daemon.sh +++ b/assembly/bin/supersonic-daemon.sh @@ -2,6 +2,7 @@ sbinDir=$(cd "$(dirname "$0")"; pwd) source $sbinDir/supersonic-common.sh +source $sbinDir/supersonic-env.sh command=$1 service=$2 @@ -12,7 +13,7 @@ if [ -z "$service" ]; then fi if [ -z "$profile" ]; then - profile="local" + profile=${S2_DB_TYPE} fi model_name=$service diff --git a/assembly/bin/supersonic-env.bat b/assembly/bin/supersonic-env.bat new file mode 100755 index 000000000..634b2146c --- /dev/null +++ b/assembly/bin/supersonic-env.bat @@ -0,0 +1,8 @@ +:: Set below DB configs to connect to your own database +:: Supported DB_TYPE: h2, mysql, postgres +set "S2_DB_TYPE=h2" +set "S2_DB_HOST=" +set "S2_DB_PORT=" +set "S2_DB_USER=" +set "S2_DB_PASSWORD=" +set "S2_DB_DATABASE=" \ No newline at end of file diff --git a/assembly/bin/supersonic-env.sh b/assembly/bin/supersonic-env.sh new file mode 100755 index 000000000..16dca9d70 --- /dev/null +++ b/assembly/bin/supersonic-env.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +#### Set below DB configs to connect to your own database +# Supported DB_TYPE: h2, mysql, postgres +export S2_DB_TYPE=h2 +export S2_DB_HOST= +export S2_DB_PORT= +export S2_DB_USER= +export S2_DB_PASSWORD= +export S2_DB_DATABASE= \ No newline at end of file diff --git a/launchers/standalone/src/main/resources/application-local.yaml b/launchers/standalone/src/main/resources/application-h2.yaml similarity index 100% rename from launchers/standalone/src/main/resources/application-local.yaml rename to launchers/standalone/src/main/resources/application-h2.yaml diff --git a/launchers/standalone/src/main/resources/application-mysql.yaml b/launchers/standalone/src/main/resources/application-mysql.yaml index 8636f9167..f3145551a 100644 --- a/launchers/standalone/src/main/resources/application-mysql.yaml +++ b/launchers/standalone/src/main/resources/application-mysql.yaml @@ -1,14 +1,13 @@ spring: datasource: driver-class-name: com.mysql.jdbc.Driver - url: jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true - username: root - password: + url: jdbc:mysql://${S2_DB_HOST:localhost}:${S2_DB_PORT:3306}/${S2_DB_DATABASE:mysql}?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true + username: ${S2_DB_USER:root} + password: ${S2_DB_PASSWORD:} sql: init: - enabled: false mode: always - username: root - password: + username: ${S2_DB_USER:root} + password: ${S2_DB_PASSWORD:} schema-locations: classpath:db/schema-mysql.sql,classpath:db/schema-mysql-demo.sql data-locations: classpath:db/data-mysql.sql,classpath:db/data-mysql-demo.sql \ No newline at end of file diff --git a/launchers/standalone/src/main/resources/application-postgres.yaml b/launchers/standalone/src/main/resources/application-postgres.yaml index 627374dfc..519e716aa 100644 --- a/launchers/standalone/src/main/resources/application-postgres.yaml +++ b/launchers/standalone/src/main/resources/application-postgres.yaml @@ -1,14 +1,14 @@ spring: datasource: driver-class-name: org.postgresql.Driver - url: jdbc:postgresql://localhost:5432/postgres?stringtype=unspecified - username: postgres - password: postgres + url: jdbc:postgresql://${S2_DB_HOST:localhost}:${S2_DB_PORT:5432}/${S2_DB_DATABASE:postgres}?stringtype=unspecified + username: ${S2_DB_USER:postgres} + password: ${S2_DB_PASSWORD:postgres} sql: init: - mode: never - username: postgres - password: postgres + mode: always + username: ${S2_DB_USER:postgres} + password: ${S2_DB_PASSWORD:postgres} schema-locations: classpath:db/schema-postgres.sql,classpath:db/schema-postgres-demo.sql data-locations: classpath:db/data-postgres.sql,classpath:db/data-postgres-demo.sql @@ -17,9 +17,9 @@ s2: store: provider: PGVECTOR base: - url: 127.0.0.1 - port: 5432 - databaseName: postgres - user: postgres - password: postgres + url: ${S2_DB_HOST:127.0.0.1} + port: ${S2_DB_PORT:5432} + databaseName: ${S2_DB_DATABASE:postgres} + user: ${S2_DB_USER:postgres} + password: ${S2_DB_PASSWORD:postgres} dimension: 512 \ No newline at end of file diff --git a/launchers/standalone/src/main/resources/application.yaml b/launchers/standalone/src/main/resources/application.yaml index 0c86c10f8..620c4f7a0 100644 --- a/launchers/standalone/src/main/resources/application.yaml +++ b/launchers/standalone/src/main/resources/application.yaml @@ -7,7 +7,7 @@ server: spring: profiles: - active: local + active: ${S2_DB_TYPE:h2} application: name: chat config: diff --git a/launchers/standalone/src/main/resources/db/data-mysql-demo.sql b/launchers/standalone/src/main/resources/db/data-mysql-demo.sql index 0b43b6d96..4b1dd57e1 100644 --- a/launchers/standalone/src/main/resources/db/data-mysql-demo.sql +++ b/launchers/standalone/src/main/resources/db/data-mysql-demo.sql @@ -1,4 +1,9 @@ -- S2VisitsDemo +-- clear data if already exists +DELETE FROM s2_pv_uv_statis; +DELETE FROM s2_stay_time_statis; +DELETE FROM s2_user_department; + INSERT INTO s2_user_department (user_name, department) values ('jack','HR'); INSERT INTO s2_user_department (user_name, department) values ('tom','sales'); INSERT INTO s2_user_department (user_name, department) values ('lucy','marketing'); @@ -1020,6 +1025,10 @@ INSERT INTO s2_stay_time_statis (imp_date, user_name, stay_hours, page) VALUES ( INSERT INTO s2_stay_time_statis (imp_date, user_name, stay_hours, page) VALUES (DATE_SUB(CURRENT_DATE(), INTERVAL 8 DAY), 'lucy', '0.039935860913407284', 'p2'); -- S2ArtistDemo +-- clear data if already exists +DELETE FROM singer; +DELETE FROM genre; + INSERT INTO singer (singer_name, act_area, song_name, genre, js_play_cnt, down_cnt, favor_cnt) VALUES ('周杰伦', '港台', '青花瓷', '国风', 1000000, 1000000, 1000000); INSERT INTO singer (singer_name, act_area, song_name, genre, js_play_cnt, down_cnt, favor_cnt) @@ -1041,6 +1050,11 @@ INSERT INTO genre(g_name,rating,most_popular_in) VALUES ('蓝调',7,'加拿大') INSERT INTO genre(g_name,rating,most_popular_in) VALUES ('流行',9,'美国'); -- S2CompanyDemo +-- clear data if already exists +DELETE FROM brand_revenue; +DELETE FROM brand; +DELETE FROM company; + INSERT INTO company(company_id,company_name,headquarter_address,company_established_time,founder,ceo,annual_turnover,employee_count) VALUES ('item_enterprise_13_131','微软','西雅图','1975','盖茨','纳德拉',102300000000,210000); INSERT INTO company(company_id,company_name,headquarter_address,company_established_time,founder,ceo,annual_turnover,employee_count) VALUES ('item_enterprise_13_132','特斯拉','加州','2003','艾伯哈德','马斯克',376800000000,140473); INSERT INTO company(company_id,company_name,headquarter_address,company_established_time,founder,ceo,annual_turnover,employee_count) VALUES ('item_enterprise_13_133','谷歌','加州','1998','拉里佩奇','劈柴',321600000000,182503); diff --git a/launchers/standalone/src/main/resources/db/data-mysql.sql b/launchers/standalone/src/main/resources/db/data-mysql.sql index d775bdfe2..754270c5b 100644 --- a/launchers/standalone/src/main/resources/db/data-mysql.sql +++ b/launchers/standalone/src/main/resources/db/data-mysql.sql @@ -1,10 +1,15 @@ +-- clear data if already exists +DELETE FROM s2_user; +DELETE FROM s2_available_date_info; +DELETE FROM s2_canvas; + -- sample user -- The default value for the password is 123456 -insert into s2_user (`name`, password, salt, display_name, email, is_admin) values ('admin','c3VwZXJzb25pY0BiaWNvbdktJJYWw6A3rEmBUPzbn/6DNeYnD+y3mAwDKEMS3KVT','jGl25bVBBBW96Qi9Te4V3w==','admin','admin@xx.com', 1); -insert into s2_user (`name`, password, salt, display_name, email) values ('jack','c3VwZXJzb25pY0BiaWNvbWxGalmwa0h/trkh/3CWOYMDiku0Op1VmOfESIKmN0HG','MWERWefm/3hD6kYndF6JIg==','jack','jack@xx.com'); -insert into s2_user (`name`, password, salt, display_name, email) values ('tom','c3VwZXJzb25pY0BiaWNvbVWv0CZ6HzeX8GRUpw0C8NSaQ+0hE/dAcmzRpCFwAqxK','4WCPdcXXgT89QDHLML+3hg==','tom','tom@xx.com'); -insert into s2_user (`name`, password, salt, display_name, email, is_admin) values ('lucy','c3VwZXJzb25pY0BiaWNvbc7Ychfu99lPL7rLmCkf/vgF4RASa4Z++Mxo1qlDCpci','3Jnpqob6uDoGLP9eCAg5Fw==','lucy','lucy@xx.com', 1); -insert into s2_user (`name`, password, salt, display_name, email) values ('alice','c3VwZXJzb25pY0BiaWNvbe9Z4F2/DVIfAJoN1HwUTuH1KgVuiusvfh7KkWYQSNHk','K9gGyX8OAK8aH8Myj6djqQ==','alice','alice@xx.com'); +insert into s2_user (id, `name`, password, salt, display_name, email, is_admin) values (1, 'admin','c3VwZXJzb25pY0BiaWNvbdktJJYWw6A3rEmBUPzbn/6DNeYnD+y3mAwDKEMS3KVT','jGl25bVBBBW96Qi9Te4V3w==','admin','admin@xx.com', 1); +insert into s2_user (id, `name`, password, salt, display_name, email) values (2, 'jack','c3VwZXJzb25pY0BiaWNvbWxGalmwa0h/trkh/3CWOYMDiku0Op1VmOfESIKmN0HG','MWERWefm/3hD6kYndF6JIg==','jack','jack@xx.com'); +insert into s2_user (id, `name`, password, salt, display_name, email) values (3, 'tom','c3VwZXJzb25pY0BiaWNvbVWv0CZ6HzeX8GRUpw0C8NSaQ+0hE/dAcmzRpCFwAqxK','4WCPdcXXgT89QDHLML+3hg==','tom','tom@xx.com'); +insert into s2_user (id, `name`, password, salt, display_name, email, is_admin) values (4, 'lucy','c3VwZXJzb25pY0BiaWNvbc7Ychfu99lPL7rLmCkf/vgF4RASa4Z++Mxo1qlDCpci','3Jnpqob6uDoGLP9eCAg5Fw==','lucy','lucy@xx.com', 1); +insert into s2_user (id, `name`, password, salt, display_name, email) values (5, 'alice','c3VwZXJzb25pY0BiaWNvbe9Z4F2/DVIfAJoN1HwUTuH1KgVuiusvfh7KkWYQSNHk','K9gGyX8OAK8aH8Myj6djqQ==','alice','alice@xx.com'); INSERT INTO s2_available_date_info (`item_id`, `type`, `date_format`, `start_date`, `end_date`, `unavailable_date`, `created_at`, `created_by`, `updated_at`, `updated_by`) diff --git a/launchers/standalone/src/main/resources/db/data-postgres-demo.sql b/launchers/standalone/src/main/resources/db/data-postgres-demo.sql index 44a0c68ac..056149b6f 100644 --- a/launchers/standalone/src/main/resources/db/data-postgres-demo.sql +++ b/launchers/standalone/src/main/resources/db/data-postgres-demo.sql @@ -1,4 +1,9 @@ -- S2VisitsDemo +-- clear data if already exists +DELETE FROM s2_pv_uv_statis; +DELETE FROM s2_stay_time_statis; +DELETE FROM s2_user_department; + INSERT into s2_user_department (user_name, department) values ('jack','HR'); INSERT into s2_user_department (user_name, department) values ('tom','sales'); INSERT into s2_user_department (user_name, department) values ('lucy','marketing'); @@ -1016,6 +1021,10 @@ INSERT INTO s2_stay_time_statis (imp_date, user_name, stay_hours, page) VALUES ( INSERT INTO s2_stay_time_statis (imp_date, user_name, stay_hours, page) VALUES (CURRENT_DATE - INTERVAL '8 DAY', 'lucy', '0.039935860913407284', 'p2'); -- S2ArtistDemo +-- clear data if already exists +DELETE FROM singer; +DELETE FROM genre; + INSERT INTO singer (singer_name, act_area, song_name, genre, js_play_cnt, down_cnt, favor_cnt) VALUES ('周杰伦', '港台', '青花瓷', '国风', 1000000, 1000000, 1000000); INSERT INTO singer (singer_name, act_area, song_name, genre, js_play_cnt, down_cnt, favor_cnt) @@ -1037,6 +1046,12 @@ INSERT INTO genre(g_name,rating,most_popular_in) VALUES ('蓝调',7,'加拿大') INSERT INTO genre(g_name,rating,most_popular_in) VALUES ('流行',9,'美国'); -- S2CompanyDemo +-- clear data if already exists +DELETE FROM brand_revenue; +DELETE FROM brand; +DELETE FROM company; + + INSERT into company(company_id,company_name,headquarter_address,company_established_time,founder,ceo,annual_turnover,employee_count) VALUES ('item_enterprise_13_131','微软','西雅图','1975','盖茨','纳德拉',102300000000,210000); INSERT into company(company_id,company_name,headquarter_address,company_established_time,founder,ceo,annual_turnover,employee_count) VALUES ('item_enterprise_13_132','特斯拉','加州','2003','艾伯哈德','马斯克',376800000000,140473); INSERT into company(company_id,company_name,headquarter_address,company_established_time,founder,ceo,annual_turnover,employee_count) VALUES ('item_enterprise_13_133','谷歌','加州','1998','拉里佩奇','劈柴',321600000000,182503); diff --git a/launchers/standalone/src/main/resources/db/data-postgres.sql b/launchers/standalone/src/main/resources/db/data-postgres.sql index d1f02ff69..203edadf7 100644 --- a/launchers/standalone/src/main/resources/db/data-postgres.sql +++ b/launchers/standalone/src/main/resources/db/data-postgres.sql @@ -1,10 +1,15 @@ +-- clear data if already exists +DELETE FROM s2_user; +DELETE FROM s2_available_date_info; +DELETE FROM s2_canvas; + -- sample user -- The default value for the password is 123456 -insert into s2_user ("name", password, salt, display_name, email, is_admin) values ('admin','c3VwZXJzb25pY0BiaWNvbdktJJYWw6A3rEmBUPzbn/6DNeYnD+y3mAwDKEMS3KVT','jGl25bVBBBW96Qi9Te4V3w==','admin','admin@xx.com', 1); -insert into s2_user ("name", password, salt, display_name, email) values ('jack','c3VwZXJzb25pY0BiaWNvbWxGalmwa0h/trkh/3CWOYMDiku0Op1VmOfESIKmN0HG','MWERWefm/3hD6kYndF6JIg==','jack','jack@xx.com'); -insert into s2_user ("name", password, salt, display_name, email) values ('tom','c3VwZXJzb25pY0BiaWNvbVWv0CZ6HzeX8GRUpw0C8NSaQ+0hE/dAcmzRpCFwAqxK','4WCPdcXXgT89QDHLML+3hg==','tom','tom@xx.com'); -insert into s2_user ("name", password, salt, display_name, email, is_admin) values ('lucy','c3VwZXJzb25pY0BiaWNvbc7Ychfu99lPL7rLmCkf/vgF4RASa4Z++Mxo1qlDCpci','3Jnpqob6uDoGLP9eCAg5Fw==','lucy','lucy@xx.com', 1); -insert into s2_user ("name", password, salt, display_name, email) values ('alice','c3VwZXJzb25pY0BiaWNvbe9Z4F2/DVIfAJoN1HwUTuH1KgVuiusvfh7KkWYQSNHk','K9gGyX8OAK8aH8Myj6djqQ==','alice','alice@xx.com'); +insert into s2_user (id, "name", password, salt, display_name, email, is_admin) values (1, 'admin','c3VwZXJzb25pY0BiaWNvbdktJJYWw6A3rEmBUPzbn/6DNeYnD+y3mAwDKEMS3KVT','jGl25bVBBBW96Qi9Te4V3w==','admin','admin@xx.com', 1); +insert into s2_user (id, "name", password, salt, display_name, email) values (2, 'jack','c3VwZXJzb25pY0BiaWNvbWxGalmwa0h/trkh/3CWOYMDiku0Op1VmOfESIKmN0HG','MWERWefm/3hD6kYndF6JIg==','jack','jack@xx.com'); +insert into s2_user (id, "name", password, salt, display_name, email) values (3, 'tom','c3VwZXJzb25pY0BiaWNvbVWv0CZ6HzeX8GRUpw0C8NSaQ+0hE/dAcmzRpCFwAqxK','4WCPdcXXgT89QDHLML+3hg==','tom','tom@xx.com'); +insert into s2_user (id, "name", password, salt, display_name, email, is_admin) values (4, 'lucy','c3VwZXJzb25pY0BiaWNvbc7Ychfu99lPL7rLmCkf/vgF4RASa4Z++Mxo1qlDCpci','3Jnpqob6uDoGLP9eCAg5Fw==','lucy','lucy@xx.com', 1); +insert into s2_user (id, "name", password, salt, display_name, email) values (5, 'alice','c3VwZXJzb25pY0BiaWNvbe9Z4F2/DVIfAJoN1HwUTuH1KgVuiusvfh7KkWYQSNHk','K9gGyX8OAK8aH8Myj6djqQ==','alice','alice@xx.com'); INSERT INTO s2_available_date_info (item_id, type, date_format, start_date, end_date, unavailable_date, created_at, created_by, updated_at, updated_by)