Error creating relationship between custom modules

Hi,

I have created and deployed a new module in module builder. I then tried to create a 1toM relationship between an existing custom module and this new module and got the following error after clicking Save and Deploy:

Database failure. Please refer to suitecrm.log for details.

The extract from the log file is:

Tue May 11 13:28:24 2021 [9297][3be71462-cf01-0e91-0720-60770060b2ad][FATAL] Query Failed:INSERT into relationships (id,relationship_name,lhs_module,lhs_table,lhs_key,rhs_module,rhs_table,rhs_key,join_table,join_key_lhs,join_key_rhs,relationship_type) values (N’e593a831-b720-9db3-0d68-609a7804b886’,N’bm_payroll_runs_bm_payroll_run_charges_1’,N’BM_payroll_runs’,N’bm_payroll_runs’,N’id’,N’BM_payroll_run_charges’,N’bm_payroll_run_charges’,N’id’,N’bm_payroll_runs_bm_payroll_run_charges_1_c’,N’bm_payroll_runs_bm_payroll_run_charges_1bm_payroll_runs_ida’,N’bm_payroll_runs_bm_payroll_run_charges_1bm_payroll_run_charges_idb’,N’many-to-many’)::: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]String or binary data would be truncated in table ‘suitecrm7.dbo.relationships’, column ‘join_key_rhs’. Truncated value: ‘bm_payroll_runs_bm_payroll_run_charges_1bm_payroll_run_charges_i’.
[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]The statement has been terminated.
Tue May 11 13:28:24 2021 [9297][3be71462-cf01-0e91-0720-60770060b2ad][FATAL] Exception handling in /var/www/suitecrm7/include/MVC/Controller/SugarController.php:400
Tue May 11 13:28:24 2021 [9297][3be71462-cf01-0e91-0720-60770060b2ad][FATAL] Exception in Controller: Database failure. Please refer to suitecrm.log for details.
Tue May 11 13:28:24 2021 [9297][3be71462-cf01-0e91-0720-60770060b2ad][FATAL] backtrace:
#0 /var/www/suitecrm7/include/database/DBManager.php(353): sugar_die()
#1 /var/www/suitecrm7/include/database/DBManager.php(328): DBManager->registerError()
#2 /var/www/suitecrm7/include/database/SqlsrvManager.php(235): DBManager->checkError()
#3 /var/www/suitecrm7/data/SugarBean.php(778): SqlsrvManager->query()
#4 /var/www/suitecrm7/ModuleInstall/ModuleInstaller.php(1431): SugarBean::createRelationshipMeta()
#5 /var/www/suitecrm7/ModuleInstall/ModuleInstaller.php(1370): ModuleInstaller->install_relationship()
#6 /var/www/suitecrm7/modules/ModuleBuilder/parsers/relationships/DeployedRelationships.php(330): ModuleInstaller->install_relationships()
#7 /var/www/suitecrm7/modules/ModuleBuilder/controller.php(549): DeployedRelationships->build()
#8 /var/www/suitecrm7/include/MVC/Controller/SugarController.php(525): ModuleBuilderController->action_SaveRelationship()
#9 /var/www/suitecrm7/include/MVC/Controller/SugarController.php(494): SugarController->do_action()
#10 /var/www/suitecrm7/include/MVC/Controller/SugarController.php(468): SugarController->handle_action()
#11 /var/www/suitecrm7/modules/ModuleBuilder/controller.php(101): SugarController->process()
#12 /var/www/suitecrm7/include/MVC/Controller/SugarController.php(373): ModuleBuilderController->process()
#13 /var/www/suitecrm7/include/MVC/SugarApplication.php(113): SugarController->execute()
#14 /var/www/suitecrm7/index.php(52): SugarApplication->execute()
#15 {main}

Any idea what may be causing this?

Thanks,

James

@james_k

Maybe problem with value length - bm_payroll_runs_bm_payroll_run_charges_1bm_payroll_run_charges_i . The name use as a column name of database table.

Hi,

I check and SQL server can support table names of 128 characters. This one would only be 64 characters.

Thanks,

James

@james_k

Look carefully more message about error.

This value was truncated. There is really value:

Your database support table names more 64 characters but SuiteCRM support 64 characters maximum. You should use shorter name.