This is an automated email from the ASF dual-hosted git repository.
yx9o pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new e5c159c1479 Fix example e2e, use generated init.sql to prepare
environments (#37830)
e5c159c1479 is described below
commit e5c159c1479af99b7c517a2b54a7ef6fd94d32e9
Author: Raigor <[email protected]>
AuthorDate: Sat Jan 24 19:01:00 2026 +0800
Fix example e2e, use generated init.sql to prepare environments (#37830)
---
.github/workflows/nightly-build.yml | 12 ++++++++--
.../nightly-build-example/init-mysql-container.sh | 28 ++++++++++++++--------
.../java/repository/jdbc/OrderRepository.ftl | 6 ++---
3 files changed, 30 insertions(+), 16 deletions(-)
diff --git a/.github/workflows/nightly-build.yml
b/.github/workflows/nightly-build.yml
index f19c3a2e3b3..a800521c436 100644
--- a/.github/workflows/nightly-build.yml
+++ b/.github/workflows/nightly-build.yml
@@ -273,12 +273,20 @@ jobs:
key: ${{ needs.global-environment.outputs.GLOBAL_CACHE_PREFIX
}}-maven-third-party-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ needs.global-environment.outputs.GLOBAL_CACHE_PREFIX
}}-maven-third-party-
- - name: Prepare Environments
- run: sh
.github/workflows/resources/scripts/nightly-build-example/init-mysql-container.sh
- name: Build with Maven
run: ./mvnw -B -T1C -ntp clean install -DskipITs -DskipTests
- name: Generate Examples
run: ./mvnw -B clean install -f
examples/shardingsphere-jdbc-example-generator/pom.xml -Pexample-generator
-Dmodes=${{ matrix.mode }} -Dtransactions=${{ matrix.transaction }}
-Dfeatures=${{ matrix.feature }} -Dframeworks=${{ matrix.framework }}
+ - name: Prepare Environments
+ run: |
+
INIT_SQL_PATH="examples/shardingsphere-jdbc-example-generator/target/generated-sources/shardingsphere-jdbc-sample/${{
matrix.feature }}--${{ matrix.framework }}--${{ matrix.mode }}--${{
matrix.transaction }}/init.sql"
+ if [ -f "$INIT_SQL_PATH" ]; then
+ echo "Executing generated init.sql for feature: ${{ matrix.feature
}}"
+ sh
.github/workflows/resources/scripts/nightly-build-example/init-mysql-container.sh
"$INIT_SQL_PATH"
+ else
+ echo "Warning: init.sql not found at $INIT_SQL_PATH"
+ exit 1
+ fi
- name: Test Examples
run : ./mvnw -B test -f
examples/shardingsphere-jdbc-example-generator/target/generated-sources/shardingsphere-jdbc-sample/${{
matrix.feature }}--${{ matrix.framework }}--${{ matrix.mode }}--${{
matrix.transaction }}/pom.xml -Pexample-generator
-Dexec.cleanupDaemonThreads=false
- name: Package Examples
diff --git
a/.github/workflows/resources/scripts/nightly-build-example/init-mysql-container.sh
b/.github/workflows/resources/scripts/nightly-build-example/init-mysql-container.sh
index c463e70c48b..bb57c218c67 100644
---
a/.github/workflows/resources/scripts/nightly-build-example/init-mysql-container.sh
+++
b/.github/workflows/resources/scripts/nightly-build-example/init-mysql-container.sh
@@ -14,13 +14,21 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-mysql -uroot -h127.0.0.1 -p123456 -e 'DROP DATABASE IF EXISTS demo_ds_0;DROP
DATABASE IF EXISTS demo_ds_1;DROP DATABASE IF EXISTS demo_ds_2;CREATE DATABASE
demo_ds_0;CREATE DATABASE demo_ds_1;CREATE DATABASE demo_ds_2;'
-mysql -uroot -h127.0.0.1 -p123456 -e 'USE demo_ds_0;CREATE TABLE IF NOT EXISTS
t_order(order_id BIGINT NOT NULL AUTO_INCREMENT, order_type INT(11), user_id
INT NOT NULL, address_id BIGINT NOT NULL, status VARCHAR(50), PRIMARY KEY
(order_id));'
-mysql -uroot -h127.0.0.1 -p123456 -e 'USE demo_ds_0;CREATE TABLE IF NOT EXISTS
t_order_item(order_item_id BIGINT NOT NULL AUTO_INCREMENT, order_id BIGINT NOT
NULL, user_id INT NOT NULL, phone VARCHAR(50), status VARCHAR(50), PRIMARY KEY
(order_item_id));'
-mysql -uroot -h127.0.0.1 -p123456 -e 'USE demo_ds_0;CREATE TABLE IF NOT EXISTS
t_address (address_id BIGINT NOT NULL, address_name VARCHAR(100) NOT NULL,
PRIMARY KEY (address_id));'
-mysql -uroot -h127.0.0.1 -p123456 -e 'USE demo_ds_1;CREATE TABLE IF NOT EXISTS
t_order(order_id BIGINT NOT NULL AUTO_INCREMENT, order_type INT(11), user_id
INT NOT NULL, address_id BIGINT NOT NULL, status VARCHAR(50), PRIMARY KEY
(order_id));'
-mysql -uroot -h127.0.0.1 -p123456 -e 'USE demo_ds_2;CREATE TABLE IF NOT EXISTS
t_order(order_id BIGINT NOT NULL AUTO_INCREMENT, order_type INT(11), user_id
INT NOT NULL, address_id BIGINT NOT NULL, status VARCHAR(50), PRIMARY KEY
(order_id));'
-mysql -uroot -h127.0.0.1 -p123456 -e 'USE demo_ds_1;CREATE TABLE IF NOT EXISTS
t_order_item(order_item_id BIGINT NOT NULL AUTO_INCREMENT, order_id BIGINT NOT
NULL, user_id INT NOT NULL, phone VARCHAR(50), status VARCHAR(50), PRIMARY KEY
(order_item_id));'
-mysql -uroot -h127.0.0.1 -p123456 -e 'USE demo_ds_2;CREATE TABLE IF NOT EXISTS
t_order_item(order_item_id BIGINT NOT NULL AUTO_INCREMENT, order_id BIGINT NOT
NULL, user_id INT NOT NULL, phone VARCHAR(50), status VARCHAR(50), PRIMARY KEY
(order_item_id));'
-mysql -uroot -h127.0.0.1 -p123456 -e 'USE demo_ds_1;CREATE TABLE IF NOT EXISTS
t_address (address_id BIGINT NOT NULL, address_name VARCHAR(100) NOT NULL,
PRIMARY KEY (address_id));'
-mysql -uroot -h127.0.0.1 -p123456 -e 'USE demo_ds_2;CREATE TABLE IF NOT EXISTS
t_address (address_id BIGINT NOT NULL, address_name VARCHAR(100) NOT NULL,
PRIMARY KEY (address_id));'
+
+set -e
+
+if [ $# -ne 1 ]; then
+ echo "Usage: $0 <init.sql path>"
+ exit 1
+fi
+
+INIT_SQL_PATH=$1
+
+if [ ! -f "$INIT_SQL_PATH" ]; then
+ echo "Error: init.sql file not found at $INIT_SQL_PATH"
+ exit 1
+fi
+
+echo "Executing init.sql: $INIT_SQL_PATH"
+mysql -uroot -h127.0.0.1 -p123456 < "$INIT_SQL_PATH"
+echo "init.sql execution completed."
diff --git
a/examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/repository/jdbc/OrderRepository.ftl
b/examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/repository/jdbc/OrderRepository.ftl
index 784f6598e0c..e3b76533ebe 100644
---
a/examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/repository/jdbc/OrderRepository.ftl
+++
b/examples/shardingsphere-jdbc-example-generator/src/main/resources/template/java/repository/jdbc/OrderRepository.ftl
@@ -38,8 +38,7 @@ public final class OrderRepository {
}
public void createTableIfNotExists() throws SQLException {
- String sql = "CREATE TABLE IF NOT EXISTS t_order " +
- "(order_id BIGINT NOT NULL AUTO_INCREMENT, order_type
INT(11), user_id INT NOT NULL, address_id BIGINT NOT NULL, status VARCHAR(50),
PRIMARY KEY (order_id))";
+ String sql = "CREATE TABLE IF NOT EXISTS t_order (order_id BIGINT NOT
NULL AUTO_INCREMENT, order_type INT(11), user_id INT NOT NULL, address_id
BIGINT NOT NULL, status VARCHAR(50), PRIMARY KEY (order_id))";
try (Connection connection = dataSource.getConnection();
Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
@@ -65,8 +64,7 @@ public final class OrderRepository {
<#if feature?contains("shadow")>
public void createTableIfNotExistsShadow() throws SQLException {
- String sql = "CREATE TABLE IF NOT EXISTS t_order (order_id BIGINT NOT
NULL AUTO_INCREMENT, order_type INT(11), user_id INT NOT NULL, address_id
BIGINT NOT NULL, status VARCHAR(50), PRIMARY KEY (order_id)) /*
-SHARDINGSPHERE_HINT:shadow=true,foo=bar*/";
+ String sql = "CREATE TABLE IF NOT EXISTS t_order (order_id BIGINT NOT
NULL AUTO_INCREMENT, order_type INT(11), user_id INT NOT NULL, address_id
BIGINT NOT NULL, status VARCHAR(50), PRIMARY KEY (order_id)) /*
SHARDINGSPHERE_HINT:shadow=true,foo=bar*/";
try (Connection connection = dataSource.getConnection();
Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);