Hi All,

 

While migrating a package from dev to staging environment, encountering this error message which is logged from SysUsrProjectsLog - (UsrProjects - is a custom object and Change log is enabled ).

The error message from the log file is as below:

Error occurred while saving schema database structure "SysUsrProjectsLog" in package "". UId 00000000-0000-0000-0000-000000000000: Error "ALTER TABLE ALTER COLUMN failed because column 'UsrNationalPriority' does not exist in table 'SysUsrProjectsLog'." occurred when updating schema structure. SQL script text: "ALTER TABLE [dbo].[SysUsrProjectsLog] ALTER COLUMN [UsrNationalPriority] NVARCHAR(250) NOT NULL"
2022-03-31 14:08:39,621 Terrasoft.Core.DB.DBMetaActionExecuteException: Error "ALTER TABLE ALTER COLUMN failed because column 'UsrNationalPriority' does not exist in table 'SysUsrProjectsLog'." occurred when updating schema structure. SQL script text: "ALTER TABLE [dbo].[SysUsrProjectsLog] ALTER COLUMN [UsrNationalPriority] NVARCHAR(250) NOT NULL" ---> System.Data.SqlClient.SqlException: ALTER TABLE ALTER COLUMN failed because column 'UsrNationalPriority' does not exist in table 'SysUsrProjectsLog'.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at Polly.Policy.<>c__DisplayClass119_0`1.<Execute>b__0(Context ctx, CancellationToken ct)
   at Polly.Policy.<>c__DisplayClass129_0`1.<ExecuteInternal>b__0(Context ctx, CancellationToken ct)
   at Polly.Policy.<>c__DisplayClass103_0.<NoOp>b__1(Context ctx, CancellationToken ct)
   at Polly.NoOp.NoOpEngine.Implementation[TResult](Func`3 action, Context context, CancellationToken cancellationToken)
   at Polly.Policy.<>c.<NoOp>b__103_0(Action`2 action, Context context, CancellationToken cancellationToken)
   at Polly.Policy.ExecuteInternal[TResult](Func`3 action, Context context, CancellationToken cancellationToken)
   at Polly.Policy.Execute[TResult](Func`3 action, Context context, CancellationToken cancellationToken)
   at Polly.Policy.Execute[TResult](Func`1 action)
   at Terrasoft.DB.MSSql.MSSqlExecutor.FailoverExecute[TResult](DbCommand command, Func`1 func)
   at Terrasoft.Core.DB.DBExecutor.<ExecuteCommandAsync>d__96`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Terrasoft.Core.DB.DBExecutor.ExecuteCommand[TResult](Func`2 commandExecutionCallback, String sqlText, QueryParameterCollection queryParameters, CancellationToken cancellationToken)
   at Terrasoft.Core.DB.DBExecutor.InternalExecute(String sqlText, QueryParameterCollection queryParameters)
   at Terrasoft.Core.DB.DBMetaAction.QueryExecute()
   at Terrasoft.Core.DB.DBMetaAction.Execute(ActionsConfig actionsConfig)
   at Terrasoft.Core.DB.DBMetaActionCollection.Execute(ActionsConfig actionsConfig)
   --- End of inner exception stack trace ---
2022-03-31 14:08:39,621 Error occured while performing operation on "" item, UId = .

 

The field which is causing the problem is called "UsrNationalPriority" lookup field and the functionality is similar to Manager Mood in Opportuntity page. Below link was followed to develop the functionality:

Add Manager Mood from Opportunities to Accounts | Community Creatio

 

Appreciate your suggestion on where could be the issue as the functionality implemented is working as expected except that the field is not getting added in the Changelog relevant db table.

 

Thanks

Anupama

 

Like 0

Like

1 comments

Hello Anupama,

 

Thank you for also registering case SR-01107137, we will duplicate the solution here it is found.

 

Best regards,

Dan

Show all comments

Hi Team,

 

I have been facing an error while updating the package from SVN.

It throws an error stating Schema with Unique identifier is not found.

 

Kindly guide me to resolve this issue.





Best regards,

Bhoobalan P.

Like 0

Like

1 comments

Hi Bhoobalan,

 

Please check the application logs at the moment of the issue reproduce for additional details on the error message. Additionally try generating the source code for all schemas and compiling the app in configurations before updating the package from SVN. Also this error message can state that there is a process or some logic in the package that uses the column that was deleted from some object. Try searching anything in the system using the query:

 

set nocount on
declare @name varchar(128), @substr nvarchar(4000), @column varchar(128)
declare @sql nvarchar(max),
  @newval nvarchar(max)
 
set @substr = N'BC2E7A0A-2B9E-4A10-BE73-B2FF59752ABF' --INPUT THE ID HERE
set @sql =  N''
set @newval = @substr
 
create table #rslt 
(table_name varchar(128), field_name varchar(128), value nvarchar(max))
 
declare s cursor fast_forward for select table_name from information_schema.tables where table_type = 'BASE TABLE' order by table_name
open s
fetch next from s into @name
while @@fetch_status = 0
begin
 declare c cursor fast_forward for 
 select quotename(column_name) as column_name from information_schema.columns 
   where data_type in ('text', 'ntext', 'varchar', 'char', 'nvarchar', 'char', 'sysname','uniqueidentifier') and table_name  = @name
 set @name = quotename(@name)
 open c
 fetch next from c into @column
 while @@fetch_status = 0
 begin
--   print 'Processing table - ' + @name + ', column - ' + @column
   exec('insert into #rslt select ''' + @name + ''' as Table_name, ''' + @column + ''', ' + @column + 
 ' from' + @name + ' where ' + @column + ' like ''' + @substr + '''')
   fetch next from c into @column
 end
 close c
 deallocate c
 fetch next from s into @name
end
 
select table_name as [Table Name], field_name as [Field Name], count(*) as [Found Matches] from #rslt
group by table_name, field_name
order by table_name, field_name
 
select * from #rslt order by table_name, field_name
 
drop table #rslt
close S
deallocate S

 

And check what does this query return.

 

Best regards,

Oscar

Show all comments

Hi Team

 

I have a Requirement from client where Client want to Replicate existing base functionality for Different cases such that each case will have some changes to base but these changes should not make affect on either cases

and in case if they want to close any case in future they should be avail to do it easily without any impact on other

 

Its like we have a master package A then B,C,D

where B,C,D are depedent on A like a parent child but bot dependent on Each Other

 

And any changes made in B,C,D should not be reflected in other they all should remain same as A if no changes are made

And in near future they delete B this should not affect other and system should run smoothly 

Neither A should get any changes and anything in a should be working as they they are in A

 

Have a Brief in image please look at it.

 

Please suggest a solution if possible 

As we tried 3-4 approach but failed

 

Thank You

 

 

 

File attachments
Like 0

Like

5 comments

Hello,

 

If I understood your request correctly, in this case you just can deploy separate applications on the different servers as a copy of the instance of server A without setting the replication up. With such a configuration, you will be able to remove servers without additional actions.

 

Before the deployment you also can check the software and hardware requirements based on your product and functionality needs by using the "Requirements calculator":

https://academy.creatio.com/docs/requirements/calculator?document=studio

 

Best regards,

Roman

Roman Rak,

Yes you are correct in this scenario 

 

But this is our last hope if we didn't get any solution

 

But i want same thing to happen on same instance where i can have B,C,D configuration which have basics of A but on changing/modifying  any of these it will not impact other and can be easily shutdown in case of no use

 

as similar people will be working on them but with little change on each of them so if i switch to other server then it will be costly as each server will cost for licenses

 

If there is some solution to this please let me know

 

Thank you

Braj Raj singh Kushwaha,



There's no need to use dedicated server for each application. 

You can run multiple applications on the same server, however you'll need to set up the apps to different ports (example A : host:80 , B: host:81, C: Host:82, etc. ) You'll also need to deploy separate database for each application. 



Please keep in mind that in this case the requirements of the server will be higher. 



Best regards,

Yurii.

 

Yurii Sokil,

 

Thank You So much For this Info

 

1. Currently we are using cloud server can creatio help us to install multiple application on that server

2. Can same user switch between those application using same credentials and license(as mutiple application will be assigned to same user)

 

 

Thank You

 

Braj Raj singh Kushwaha,





The installation of multiple applications on the same server goes the same route as simple On-site deployment. 

You need to deploy a database, set up connection strings and run the application is IIS( for .Net Framework) or Terrasoft.WebHost.dll (for  .Net Core) 

The only difference is that when you're configuring bindings for the site you need to choose dedicated port for each application( for example, there can not be two applications with address  host:80). 

For .Net Core app bindings are configured in applicationsettings.json  file which is located in root folder of the application. 



As for the same credentials - it is indeed possible to have same credentials for different environments, however it's not recommended approach from data security point of view. 



As for the licenses - it's better to ask your responsible manager about that. 



Best regards,

Yurii. 

Show all comments

Hello community!

Trying to update package from repository.

Got this error. Please help to resolve it.

Like 0

Like

1 comments

Hi Jana,

 

Please review the configuration and check if the processes from your screenshot have no errors (if they have errors you will see the red cross sign near these processes schemas names in configurations).

 

Also you need to study the application logs to find more details on this "Conflicted" message (in on-site applications logs are located at C:\Windows\Temp\Creatio). In case you need help in analyzing the logs please send the error message here and we will discuss it.

 

Best regards,

Oscar

Show all comments