Failing to Setup InternalDB for Module in 7.9

Hello,

I’m working on a new module, and I copy/pasted a bit of code I had to set up a settings page and internal DB record. I’m testing this on a Docker Image for 7.9.16.

I keep getting the following exception:
Caused by: org.sqlite.SQLiteException: [SQLITE_SCHEMA] The database schema changed (near "Settings": syntax error)

My code to add the schema in the gateway hook is very simple:

private void verifySchema() {
    try {
        gatewayContext.getSchemaUpdater().updatePersistentRecords(CharmSettingsRecord.META);
    } catch (SQLException e) {
        logger.error("Error verifying internal database records for TamakiMES", e);
    }
}

and my record is defined as:

public class CharmSettingsRecord extends PersistentRecord {

    public static final RecordMeta<CharmSettingsRecord> META = new RecordMeta<>(CharmSettingsRecord.class, "Charm Server Settings")
            .setNounKey("CharmSettingsRecord.Noun").setNounPluralKey("CharmSettingsRecord.Noun.Plural");

    @Override
    public RecordMeta<?> getMeta() {
        return META;
    }

    public static final IdentityField id = new IdentityField(META);

    public Long getId() {
        return getLong(id);
    }

    public void setId(Long _id) {
        setLong(id, _id);
    }

}

Is there a way to debug this better?

Try taking the spaces out of your table name (“Charm Server Settings”).

:man_facepalming: Thanks Kevin