Upgrade the RAI Native App
New releases of the RelationalAI (RAI) Native App are published on a weekly basis. This section explains how the upgrade process works and how to manage your app’s upgrades.
Automatic Upgrades
Section titled “Automatic Upgrades”The RAI Native App receives automatic updates every week. Engines provisioned after an update are created using the latest version. Existing engines created prior to the update must be upgraded to the latest version to access new features and improvements.
By default, outdated engines are automatically upgraded every Monday at 10:00 AM UTC. You may change the upgrade schedule or disable automatic engine upgrades and upgrade manually at your convenience.
Set the Engine Upgrade Schedule
Section titled “Set the Engine Upgrade Schedule”Requires the app_admin
application role.
To set or alter the engine upgrade schedule, call the app.schedule_upgrade()
procedure with the day name and time in UTC:
-- Schedule upgrades for Wednesdays at 15:00 UTCCALL relationalai.app.schedule_upgrade('WEDNESDAY', '15:00');/* +-------------------------------------+ | Upgrade task scheduled successfully | +-------------------------------------+ */
To set or alter the engine upgrade schedule, create a Provider
instance and use its .sql()
method to call the app.schedule_upgrade()
procedure:
import relationalai as rai
# Get a Provider instance.app = app.Provider()
# Schedule upgrades for Wednesdays at 15:00 UTCapp.sql("CALL relationalai.app.schedule_upgrade('WEDNESDAY', '15:00')")
View Current Engine Upgrade Schedule
Section titled “View Current Engine Upgrade Schedule”Requires the app_admin
application role.
To view the current engine upgrade schedule, call the app.upgrade_schedule_status()
procedure:
-- View the current upgrade schedule and task status.CALL relationalai.app.upgrade_schedule_status();
To view the current engine upgrade schedule, create a Provider
instance and use its .sql()
method to call the app.upgrade_schedule_status()
procedure:
import relationalai as rai
# Get a Provider instance.app = app.Provider()
# View the current upgrade schedule and task status.print(app.sql("CALL relationalai.app.upgrade_schedule_status()"))
Manual Engine Upgrades
Section titled “Manual Engine Upgrades”RAI Native App updates are mandatory, However, if you prefer, you may disable automatic engine upgrades and manually upgrade engines at your convenience.
Disable Automatic Engine Upgrades
Section titled “Disable Automatic Engine Upgrades”Requires the app_admin
application role.
To disable automatic engine upgrades, call the app.unschedule_upgrade()
procedure:
-- Disable automatic upgrades.CALL relationalai.app.unschedule_upgrade();/* +-------------------------------------+ | Upgrade task cancelled successfully | +-------------------------------------+ */
To disable automatic engine upgrades, create a Provider
instance and use its .sql()
method to call the app.unschedule_upgrade()
procedure:
import relationalai as rai
# Get a Provider instance.app = app.Provider()
# Disable automatic upgrades.print(app.sql("CALL relationalai.app.unschedule_upgrade()"))
To re-enable automatic engine upgrades, set a new upgrade schedule.
Upgrade Engines
Section titled “Upgrade Engines”Requires the app_admin
application role.
To start the engine upgrade process, call the app.upgrade()
procedure:
-- Start the upgrade process.CALL relationalai.app.upgrade();/*+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Upgrade started. Monitor the upgrade status using the app.upgrade_status view to verify that all engines have been upgraded and use the app.finalize_upgrade() procedure to complete the upgrade process. | +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ */
The status of the engine upgrade can be viewed in the app.upgrade_status
view:
SELECT * FROM relationalai.app.upgrade_status;/*+-------------------------+---------+-------+--------------+-------------------------------+-------------------------------+ | NA_VERSION | ATTEMPT | STATE | ENGINE_COUNT | STARTED_AT | LAST_UPDATE | |-------------------------+---------+-------+--------------+-------------------------------+-------------------------------| | 2024.10.27-e829e39d | 1 | DONE | 9 | 2024-10-27 08:11:32.490 -0700 | 2024-10-27 08:17:45.108 -0700 | +-------------------------+---------+-------+--------------+-------------------------------+-------------------------------+ */
The upgrade is complete once the STATE
column shows DONE
.