Can I enable SYSTEM_VERSIONING on the SQL tables in the database directly

Hi Team,

I attempted to enable auditing in my SQL database by configuring SQL temporal tables in one of the table in my application. I tested by updating & inserting records into the table and it works fine in SQL server management studio. But when I try to publish the module which has the entity corresponding to the SQL table, I got an error "internal error - unimplemented". Later I turned off the feature on the SQL table and then attempted to publish the module, it worked well.

What is causing this issue ? Are there any restrictions to use the feature of SQL server to audit my backend data in Outsystems ?

Anyone has a solution for this issue? 

Thanks,

KJ

Hi Karthik,

In one of the project I also face this type of issue and I solve it by removing T_TIME_START and T_TIME_END (SQL server add these columns to the table once we enable versioning for a specific table) columns from the outsystems entity.

Hi, 

I have the same problem and after I did what you write I can't publish the espace. 

This is the error:

Internal Error

Not implemented.

Exception Details:
[1] Internal Error: Not implemented.
at OutSystems.HubEdition.Compiler.Database.EntitySchema.DbSchemaTableDiff.DropColumn(DbSchemaFieldDef oldFldDef, DBScriptsWriter sqlStatChangeNull)
   at OutSystems.HubEdition.Compiler.Database.EntitySchema.DbSchemaTableDiff.Dump(DBScriptsWriter sqlDropConstraints, DBScriptsWriter sqlDropTriggers, DBScriptsWriter sqlUpdateTables, DBScriptsWriter sqlCreateForeignKeys, DBScriptsWriter sqlUpdateDefaultValues, DBScriptsWriter sqlCreateTriggers, MultiDBScriptsWriter sqlCreateTriggersMetaInfo)
   at OutSystems.HubEdition.Compiler.Database.EntitySchema.EntitySchemaUpdater.DumpEspaceEntities(Boolean forceFullIntrospection)
   at OutSystems.HubEdition.Compiler.Database.EntitySchema.EntitySchemaUpdater.Dump(CompilationContext compilationContext)
   at OutSystems.HubEdition.Compiler.ESpace.DumpUpdateDatabaseScript()
   at OutSystems.HubEdition.Compiler.Compiler.InnerGenerateDatabaseScripts(ESpace eSpace, CompilationContext context)
   at OutSystems.HubEdition.Compiler.Utils.CompilerUtils.TrapExceptionsInContext(Action action, CompilationContext context)
   at OutSystems.HubEdition.Compiler.Compiler.<>c__DisplayClass21_0.<InvokeCompilerAPI>b__1()
   at OutSystems.HubEdition.Compiler.Compiler.<>c__DisplayClass21_0.<InvokeCompilerAPI>b__0()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()


Does anyone know the best way for using the temporal tables in OutSystens platform?

Tks.