A computer-readable storage medium encoded with instructions for causing one or more programmable processors to: create a first version of a database using a first version of a database schema that defines a set of tables (42A-42C) for the database, wherein each table (42A-42C) of the set of tables of the database includes an encoded table name (44A-44C), wherein the encoded table name of each table is generated based on a respective unencoded table name which identifies the table (42A-42C) irrespective of a database schema version and on a database schema version identifier that identifies the first version of the database schema; execute (62, 64) a command to access data contained in the database, wherein the command includes one or more encoded table names (44A-44C, 54A-54D), and wherein each of the one or more encoded table names included in the command is generated based on an unencoded table name which identifies a respective table (42A-42C, 52A-52D) of the database irrespective of a database schema version and on a database schema version identifier which identifies an expected version of the database schema (40, 50), wherein the command is an initial command of an application (32A-32N) executed in response to application startup; and receive a result that is responsive to the command, wherein, when each of the one or more encoded table names included in the command corresponds to an encoded table name of a table (42A-42C) of the set of tables of the database, the result indicates a success condition and access is allowed to the data contained in the database, wherein the result further allows verification of the first version of the database schema as being the same as the expected version of the database schema, and when each of the one or more encoded table names included in the command is generated based on a respective unencoded table name and a database schema version identifier that identifies a second version of the database schema that is different from the first version: determine that the result indicates an error condition, and create a second version of the database using a second version of the database schema in response to determining that the result indicates the error condition. create a first version of a database using a first version of a database schema that defines a set of tables (42A-42C) for the database, wherein each table (42A-42C) of the set of tables of the database includes an encoded table name (44A-44C), wherein the encoded table name of each table is generated based on a respective unencoded table name which identifies the table (42A-42C) irrespective of a database schema version and on a database schema version identifier that identifies the first version of the database schema; execute (62, 64) a command to access data contained in the database, wherein the command includes one or more encoded table names (44A-44C, 54A-54D), and wherein each of the one or more encoded table names included in the command is generated based on an unencoded table name which identifies a respective table (42A-42C, 52A-52D) of the database irrespective of a database schema version and on a database schema version identifier which identifies an expected version of the database schema (40, 50), wherein the command is an initial command of an application (32A-32N) executed in response to application startup; and receive a result that is responsive to the command, wherein, when each of the one or more encoded table names included in the command corresponds to an encoded table name of a table (42A-42C) of the set of tables of the database, the result indicates a success condition and access is allowed to the data contained in the database, wherein the result further allows verification of the first version of the database schema as being the same as the expected version of the database schema, and when each of the one or more encoded table names included in the command is generated based on a respective unencoded table name and a database schema version identifier that identifies a second version of the database schema that is different from the first version: determine that the result indicates an error condition, and create a second version of the database using a second version of the database schema in response to determining that the result indicates the error condition. determine that the result indicates an error condition, and create a second version of the database using a second version of the database schema in response to determining that the result indicates the error condition.