Description
Related dev. issue(s): tarantool/tarantool#7149
Product: Tarantool
Since: 3.0
Root document: https://www.tarantool.io/en/doc/latest/reference/reference_lua/box_schema/upgrade/
SME: @ locker
Details
Executing DDL operations with an old (not upgraded) system schema is
dangerous and might result in unexpected breakages. So we decided to
explicitly forbid all DDL operations with an old system schema until
box.schema.upgrade()
is called. Note, one can still call box.schema
functions with an old schema provided they do nothing, for example, if
an object is created with the if_not_exists
flag and the object with
same id already exists:
box.schema.create_space('test', {if_not_exists = true})
Otherwise an attempt to create a space with an old schema will raise
an error like shown below:
tarantool> box.schema.space.create('test')
---
- error: Your schema version is 1.6.8 while Tarantool
3.0.0-entrypoint-262-g3eaba1cef686 requires a more recent
schema version. Please, consider using box.schema.upgrade().
...
Requested by @ locker in tarantool/tarantool@97c2c9a.