I have several personal skills that I am in the process of migrating from the V1 SDK to the V2 SDK. As an intermediate step, I used the v1adapter and everything worked fine. However, when I implemented session attribute persistence in native V2, I kept getting a database schema error when attempting to retrieve existing data from DynamoDB. After deleting the table and toggling back and forth between the V1 code and the V2 code, I see that under the V1 code, the Partition Key under V1 is named "userId" but under V2 it is named "id". As such, there is no backward compatibility with existing settings stored in DynamoDB. My question is, is there a way in the V2 SDK to give a name to the Partition Key or is "id" hardcoded. I have reviewed the documentation but see no such provision nor does the High/Low game give such an example. I have looked into some of the SDK source code but have no seen any indicator this can be changed other than this line in DynamoDbPersistenceAdapter.js:
this.partitionKeyName = config.partitionKeyName ? config.partitionKeyName : 'id';
This is not really a problem for me as these skills have been private and I only have one record in my DynamoDB tables. I just recreate the data. However, for published skills with lots of saved session data, this could be a V1 to V2 migration nightmare.