Handling Model Changes - Limitations
This article is relevant to entity models that utilize the deprecated Visual Studio integration of Telerik Data Access. The current documentation of the Data Access framework is available here.
The Update Database from Model Wizard is used to update your database after changes have been made to the domain model. The wizard, however, exposes some restrictions when used in certain scenarios. This topic provides information about the limitations of the Update Database from Model Wizard.
Changing the KeyGenerator
Changing IdentityMechanism, for example from Default to DatabaseServiceCalculated, will be detected by Update Database from Model Wizard. However, the wizard will not generate script for this change. You will have to manually update your table in the database.
Creating a New Schema
Telerik Data Access will generate schema creation statements only for schemas that are part of the MetadataContainer and are used. For example, if you explicitly add a new schema in the MetadataContainer.Schemas collection and there isn't a table, which is part of it, then no script will be generated for the corresponding schema.
The following backends are currently supported: MSSQL, Oracle, and PostgreSQL. In MySQL and Firebird, SCHEMA is a synonym for DATABASE. Telerik Data Access is unable to read relational artifacts from different databases under given MySQL or Firebird server. This means that creation statements for missing SCHEMA / DATABASE won't be generated. These backends have implemented cross-database functionality and they have skipped the schema functionality entirely. SQLite and SQL CE do not support multiple schemas. Several database files should be used instead. Advantage Database Server is also unable to find any schema information. In SQL Anywhere the schema is bound to a user. In addition to that the tables should be explicitly created under the schema and this should be part of the schema creation statement.
Changing the CASE of Table/Column Names
Changing only the case of a column name will be detected by the wizard. However, no script will be generated. You will have to manually rename the corresponding column in the database. Changing the case of a table name will result in detecting an "Add" operation for the table, i.e. the wizard will generate script for creating a new table using the new name. You will have to select the Allow table removal check-box and mark the table with the original name for removal, in order to create the appropriate script.
Adding Unmapped Column
If you modify a table in Visual Designer and add a new column, the wizard will detect this. However, if the column is not mapped to a property of a domain class, no script will be generated.