diff options
| author | Ali Golzar <57574919+aliglzr@users.noreply.github.com> | 2025-05-21 13:04:38 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-21 13:04:38 +0300 |
| commit | 3850e2f070bb3c1227b78dcd1e8a34a89a9e9906 (patch) | |
| tree | 3a29b65f47f382494b669b29f7c8695f66527df4 /.env.example | |
| parent | 1b1cbfff422e6de58a6f524336b19ec809eb45f0 (diff) | |
feat: Add MySQL database support (#3024)MySQL-databases
* feat: Add MySQL database support
- Add MySQL database support with environment-based configuration
- Fix MySQL compatibility issue with 'key' column name
- Maintain SQLite as default database
- Add proper validation for MySQL configuration
- Test and verify compatibility with existing database
- Replaced raw SQL queries using JSON_EACH functions with standard GORM queries
- Modified functions to handle JSON parsing in Go code instead of database since JSON_EACH is not available on MySQL or MariaDB:
- getAllEmails()
- GetClientTrafficByID()
- getFallbackMaster()
- MigrationRemoveOrphanedTraffics()
The system now supports both MySQL and SQLite databases, with SQLite remaining as the default option. MySQL connection is only used when explicitly configured through environment variables.
* refactor: prefix env variables of database with XUI_ to support direct environment usage without .env file
All database configuration environment variables now start with the XUI_ prefix to avoid conflicts and allow configuration via system-level environment variables, not just the .env file.
Diffstat (limited to '.env.example')
| -rw-r--r-- | .env.example | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/.env.example b/.env.example new file mode 100644 index 00000000..228fde76 --- /dev/null +++ b/.env.example @@ -0,0 +1,8 @@ +XUI_DB_CONNECTION=sqlite + +# If DB connection is "mysql" +# XUI_DB_HOST=127.0.0.1 +# XUI_DB_PORT=3306 +# XUI_DB_DATABASE=xui +# XUI_DB_USERNAME=root +# XUI_DB_PASSWORD=
\ No newline at end of file |
