- Feb 20, 2023
-
-
Mergen Imeev authored
This patch allows to downgrade tuple foreign keys to SQL foreign keys and some tuple check constraints to SQL check constraints. The only tuple check constraints that can be downgraded are those using functions with the SQL_EXPR language. Closes #7718 NO_DOC=already introduced NO_CHANGELOG=already introduced
-
- Feb 15, 2023
-
-
Nikolay Shirokovskiy authored
See documentation below for details. By the way fix `grant_rw_access_on__session_settings_to_role_public` of upgrade to be idempotent. The changes made by the function are not reverted on downgrade thus we need this fix to be able to downgrade and then upgrade back. Part of #7718 @TarantoolBot document Title: Document box.schema.downgrade etc Downgrade makes possible to run database on older versions on Tarantool. Typical usage is next (running on 2.11.0 in the example below): tarantool> box.schema.downgrade('2.10.0') tarantool> box.snapshot() tarantool> os.exit() After this command you can run database on Tarantool version 2.10.0 or later. `box.schema.downgrade` only takes version listed in `box.schema.downgrade_versions()` which is a list of all releases since 2.8.2. `downgrade` will fail if downgrading is not possible without losing data in system spaces. This can be the case if you used functionality introduced in newer version. For example if you used tuple constraints intoroduced in version 2.10.0: NO_WRAP tarantool> box.schema.downgrade('2.8.4') --- - error: 'builtin/box/upgrade.lua:1860: Tuple constraint is found in space ''pos_in_box''. It is supported starting from version 2.10.0. There are more downgrade issues. To list them all call box.schema.downgrade_issues.' ... NO_WRAP In the example above there are more then one issues with downgrade and only first encountered is reported. To see all issues preventing downgrade use `box.schema.downgrade_issues`: NO_WRAP tarantool> box.schema.downgrade_issues('2.8.4') --- - - Tuple constraint is found in space 'pos_in_box'. It is supported starting from version 2.10.0. - Tuple constraint is found in space 'pos_in_circle'. It is supported starting from version 2.10.0. ... NO_WRAP
-