This commit introduces new functions for confirming database names during synchronization, enhancing safety when syncing to production environments. The `fxStaticSyncResolveDataStatus` and `fxStaticSyncFormatDataDiffSummary` functions are added to provide clearer status reporting and summaries of data discrepancies. Additionally, the synchronization process is refined to improve user feedback, including clearer messages regarding data alignment and discrepancies. These changes aim to enhance the robustness and clarity of the database synchronization workflow.
This commit introduces new functions for resolving and comparing database schema columns, allowing for better handling of structural discrepancies during synchronization. The `fxStaticSyncCopyTable` function is updated to check for schema alignment before proceeding with data copying, providing clearer error messages when structures do not match. Additionally, the synchronization process is refined to allow for read-only operations towards production environments, enhancing safety and user feedback. Overall, these changes aim to improve the robustness and clarity of the database synchronization workflow.
This commit introduces several utility functions for database synchronization, including error handling for MySQL operations and retrieval of table metadata. The `fxStaticSyncDbLastError`, `fxStaticSyncExecQuery`, `fxStaticSyncGetTableColumnNames`, and `fxStaticSyncGetTableEngine` functions are added to improve the robustness of the synchronization process. Additionally, the `fxStaticSyncCopyTable` function is updated to handle column mismatches more gracefully and to provide clearer feedback on the synchronization results, enhancing overall user experience and error reporting in the database synchronization workflow.
This commit updates the `fxStaticSyncClientDatabaseConfigs` function to return detailed database connection configurations for both preprod and prod clients. It introduces a new class, `clsMysqlStaticSync`, to manage MySQL connections with a short timeout, improving connection handling. The `fxStaticSyncConnect` function is refined to utilize this new class, and the synchronization UI is updated to reflect the new client configurations. These changes streamline database interactions and enhance the overall synchronization process.
This commit removes hardcoded database connection details from the `fxStaticSyncClientDatabaseConfigs` function, returning an empty array instead. It also refines the `fxStaticSyncConnect` function to utilize `mysqli_init` for improved connection management and introduces a new `fxStaticSyncOpenConnections` function to reuse existing connections. Additionally, the script execution time limit is increased in `sync_static_db.php` to accommodate longer operations.
This commit introduces the `fxAdminStaticSyncAllowed` function to control access to static database synchronization tools, ensuring only authorized users in development and pre-production environments can access them. The UI is updated to display a new section for these tools in the admin interface, enhancing the overall user experience and access management for development tasks. Additionally, the `.gitignore` file is updated to exclude the `/output/` directory from version control.