config(db): change jdbc driver to mariadb#2314
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2314 +/- ##
=========================================
Coverage 17.12% 17.12%
Complexity 462 462
=========================================
Files 261 261
Lines 7741 7741
Branches 897 897
=========================================
Hits 1326 1326
Misses 6333 6333
Partials 82 82 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
WalkthroughThe changes update the project to replace MySQL with MariaDB as the database backend. This involves removing the MySQL JDBC driver dependency and adding the MariaDB JDBC driver, as well as updating the JDBC driver class name in the production properties file. No other dependencies or configuration properties were changed. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~6 minutes Assessment against linked issues
Assessment against linked issues: Out-of-scope changesNo out-of-scope changes were found. Note ⚡️ Unit Test Generation is now available in beta!Learn more here, or try it out under "Finishing Touches" below. ✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (2)
pom-dependency-tree.txt (1)
104-104: Confirm MariaDB driver upgrade & ensure no MySQL driver remains
MariaDB client 2.7.12 is safe, but version 3.x includes critical TLS/auth fixes—please verify 3.x is compatible with your Java 17 baseline and upgrade if feasible. Manually inspect all Maven POMs (and any other build files) for stray MySQL Connector/J artifacts or code references tocom.mysql.cj.jdbcto avoid dual‐registration viaDriverManager.• Check every
pom.xml(or parent/child POM) formysql-connectororcom.mysql.cj.jdbcentries
• Search source for any hard-coded MySQL driver class names
• Consider running locally:find . -name pom.xml -exec grep -H "mysql-connector" {} \; grep -R "com.mysql.cj.jdbc" .src/main/resources/jdbc_PROD.properties (1)
2-3: Property mismatch may confuse future maintainers
jpa.database=MYSQLstill reads “MYSQL” while the dialect isMariaDBDialect. Spring’sDatabaseenum lacks a dedicatedMARIADBvalue, so functionally this is harmless, but consider commenting why the value staysMYSQL(or simply remove the setting and rely on the dialect) to avoid confusion.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
pom.xmlis excluded by!**/*.xml
📒 Files selected for processing (2)
pom-dependency-tree.txt(2 hunks)src/main/resources/jdbc_PROD.properties(1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: jo-elimu
PR: elimu-ai/webapp#2312
File: src/main/java/ai/elimu/entity/analytics/LetterSoundLearningEvent.java:19-31
Timestamp: 2025-07-27T03:40:02.040Z
Learning: In the elimu.ai webapp project, the database schema file at `src/main/resources/META-INF/jpa-schema-export.sql` is auto-generated from JPA entity annotations, so manual updates to this file are not needed when adding new entity fields.
src/main/resources/jdbc_PROD.properties (1)
Learnt from: jo-elimu
PR: #2312
File: src/main/java/ai/elimu/entity/analytics/LetterSoundLearningEvent.java:19-31
Timestamp: 2025-07-27T03:40:02.040Z
Learning: In the elimu.ai webapp project, the database schema file at src/main/resources/META-INF/jpa-schema-export.sql is auto-generated from JPA entity annotations, so manual updates to this file are not needed when adding new entity fields.
pom-dependency-tree.txt (2)
Learnt from: jo-elimu
PR: #2312
File: src/main/java/ai/elimu/entity/analytics/LetterSoundLearningEvent.java:19-31
Timestamp: 2025-07-27T03:40:02.040Z
Learning: In the elimu.ai webapp project, the database schema file at src/main/resources/META-INF/jpa-schema-export.sql is auto-generated from JPA entity annotations, so manual updates to this file are not needed when adding new entity fields.
Learnt from: jo-elimu
PR: elimu-ai/webapp#0
File: :0-0
Timestamp: 2025-05-03T08:01:30.217Z
Learning: The elimu-ai/webapp repository has a dependency on ai.elimu:model (version 2.0.97) that provides shared model classes and enums. The Language enum should be imported from ai.elimu.model.v2.enums.Language instead of creating local duplicates.
🔇 Additional comments (2)
pom-dependency-tree.txt (1)
1-1: Version bump looks fine
Project snapshot version increment from 2.6.109-SNAPSHOT → 2.6.110-SNAPSHOT is consistent with the dependency changes.src/main/resources/jdbc_PROD.properties (1)
8-8: Good driver class update
Switch toorg.mariadb.jdbc.Driveraligns with the new dependency. Make sure production URLs (jdbc:mariadb://…) are updated in the Jetty context file; the oldjdbc:mysql://prefix will still connect but yields deprecation warnings.
Issue Number
Purpose
Technical Details
Testing Instructions
Screenshots
Format Checks
Note
Files in PRs are automatically checked for format violations with
mvn spotless:check.If this PR contains files with format violations, run
mvn spotless:applyto fix them.