When there is a @OneToMany between entities A and B, generated indices are prefixed with the schema name and the SchemaTool fails
The problem seems to be in DatabaseAdapter.getCreateIndexStatement(Index idx, IdentifierFactory factory) method. It calls IdentifierFactory.newDatastoreContainerIdentifier() which creates TableIdentifier() instead of IndexIdentifier.
IdentifierFactory.newIndexIdentifier() should probably be called, but the callsite does not have all required information to pass to this method.
Another thing is if DatabaseAdapter.getCreateIndexStatement() calls indexIdentifier.getFullyQualifiedName(), IndexIdentifier should override getFullyQualifiedName() to not include schema information.
Repro steps: Run SchemaTool on the attached test project