>>Do I really need to execute the following command (when I updating the application on the customer server)?
>>
>>oMeta.validate()
>>
>>Because I found that the above call (Validate() method) requires update of the table SDTMeta.dbf and CoreMeta.dbf. And if I eliminate calling the above method, I can include these tables in the project.
>
>Validate updates the metadata tables when you change the database and/or table structures. It's very rare to do that in a run-time environment, so Validate is rarely called from an app. If the data structures do change at run-time, you need to call Validate to ensure the metadata is current.
>
>Doug
One more question, please.
When I deploy an update for my app (on the customer server), I do the following:
1. Copy the Database container to the DATA folder (the database container that was updated at design time; e.g. MyAppData.dct, MyAppData.dbc, MyAppData.dcx)
2. Run the following code:
oMeta.SetDatabase( dbc() )
IF oMeta.oSDTMgr.NeedUpdate('ALL!ALL')
oMeta.oSDTMgr.Update('ALL!ALL')
ENDIF
My question is, does the above code updates the tables (e.g. adds a new field to a table or removes a field from a table) of the customer data, based on the SDTMeta.dbf and the Application database container?
And the above code does not update the SDTMeta.dbf (just uses it); correct?
Thank you.
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham