Provide the ability to specify the index name
Add the keyword NAME to the INDEX statement, where you can specify the name of the index to be created. If no name is specified, then use the old mechanism of name definition.
There are several ways to implement this. On the one hand you can simply add an id option (let's not call it name, because we have name for system elements) with a string literal and create an index with that name. On the other hand we can actually add "names" to the indexes with all the other features: (name duplicates checking, migration after renaming, namespaces, etc.). The second option looks better, but probably is too excessive.
There is another issue with indexes. The real issue was due to too long names, which are cut off by database. We abstract similar functionality (for fields and table names) in DbNamingPolicy, while index names are not abstracted in any way at the moment.
Implemented so far by specifying an string id. Syntax: INDEX 'indexName' name(Item i)