Перейти к содержимому

Фотография

Testlink from 1.9.17 up 1.9.18.


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 10

#1 Starley25

Starley25

    Новый участник

  • Members
  • Pip
  • 8 сообщений

Отправлено 06 января 2021 - 15:33

Коллеги, добрый вечер.

Столкнулся с проблемой обновления версии 1.9.17 на 1.9.18.

Получил копию БД существующего экземпляра 1.9.17, развернул БД и нацелил на неё сборку 1.9.17 все работает, далее разархивировал версию 1.9.18 и подсунул в неё config.inc.php и config_db.inc.php из 1.9.17 в итоге при попытке авторизоваться на 1.9.18 получаем сообщение:

 

 

You need to proceed with Manual upgrade of your DB scheme to DB 1.9.18 - Read README file!

Казалось бы нужно запустить 2 эпичных скрипта 

...\testlink-1.9.18\install\sql\alter_tables\1.9.18\mysql\DB.1.9.18\step1\db_schema_update.sql

и 

...\testlink-1.9.18\install\sql\alter_tables\1.9.18\mysql\DB.1.9.18\stepZ\z_final_step.sql

что и было выполнено, но после попытки авторизоваться на виртуальном хосте на этой же машине на версии 1.9.18 получаю ошибку:

 ============================================================================== 
 DB Access Error - debug_print_backtrace() OUTPUT START 
 ATTENTION: Enabling more debug info will produce path disclosure weakness (CWE-200) 
            Having this additional Information could be useful for reporting 
            issue to development TEAM. 
 ============================================================================== 
#0  database->exec_query( /* Class:tlUser- Method:getAccessibleTestPlans- */  SELECT  NH.id, NH.name, TPLAN.is_public,  COALESCE(USER_TPLAN_ROLES.testplan_id,0) AS has_role,  USER_TPLAN_ROLES.role_id AS user_testplan_role, TPLAN.active, 0 AS selected   FROM nodes_hierarchy NH JOIN testplans TPLAN ON NH.id=TPLAN.id   LEFT OUTER JOIN user_testplan_roles USER_TPLAN_ROLES ON TPLAN.id = USER_TPLAN_ROLES.testplan_id  AND USER_TPLAN_ROLES.user_id = 202 WHERE testproject_id = 7428 AND  active = 1 AND  ORDER BY name, -1, -1) called at [C:\wamp64\www\testlink-1.9.18\lib\functions\database.class.php:769]
#1  database->get_recordset( /* Class:tlUser- Method:getAccessibleTestPlans- */  SELECT  NH.id, NH.name, TPLAN.is_public,  COALESCE(USER_TPLAN_ROLES.testplan_id,0) AS has_role,  USER_TPLAN_ROLES.role_id AS user_testplan_role, TPLAN.active, 0 AS selected   FROM nodes_hierarchy NH JOIN testplans TPLAN ON NH.id=TPLAN.id   LEFT OUTER JOIN user_testplan_roles USER_TPLAN_ROLES ON TPLAN.id = USER_TPLAN_ROLES.testplan_id  AND USER_TPLAN_ROLES.user_id = 202 WHERE testproject_id = 7428 AND  active = 1 AND  ORDER BY name) called at [C:\wamp64\www\testlink-1.9.18\lib\functions\tlUser.class.php:1046]
#2  tlUser->getAccessibleTestPlans(database Object ([db] => ADODB_mysqli Object ([databaseType] => mysqli,[dataProvider] => mysql,[hasInsertID] => 1,[hasAffectedRows] => 1,[metaTablesSQL] => SELECT
			TABLE_NAME,
			CASE WHEN TABLE_TYPE = 'VIEW' THEN 'V' ELSE 'T' END
		FROM INFORMATION_SCHEMA.TABLES
		WHERE TABLE_SCHEMA=,[metaColumnsSQL] => SHOW COLUMNS FROM `%s`,[fmtTimeStamp] => 'Y-m-d H:i:s',[hasLimit] => 1,[hasMoveFirst] => 1,[hasGenID] => 1,[isoDates] => 1,[sysDate] => CURDATE(),[sysTimeStamp] => NOW(),[hasTransactions] => 1,[forceNewConnect] => 1,[poorAffectedRows] => 1,[clientFlags] => 0,[substr] => substring,[port] => 3306,[socket] => ,[_bindInputArray] => ,[nameQuote] => `,[optionFlags] => Array ([0] => Array ([0] => 5,[1] => 0)),[arrayClass] => ADORecordSet_array_mysqli,[multiQuery] => ,[_genIDSQL] => update %s set id=LAST_INSERT_ID(id+1);,[_genSeqSQL] => create table if not exists %s (id int not null),[_genSeqCountSQL] => select count(*) from %s,[_genSeq2SQL] => insert into %s values (%s),[_dropSeqSQL] => drop table if exists %s,[database] => testlink,[host] => localhost,[user] => root,[password] => not stored,[debug] => ,[maxblobsize] => 262144,[concat_operator] => +,[length] => length,[random] => rand(),[upperCase] => upper,[fmtDate] => 'Y-m-d',[true] => 1,[false] => 0,[replaceQuote] => \',[charSet] => ,[metaDatabasesSQL] => ,[uniqueOrderBy] => ,[emptyDate] =>  ,[emptyTimeStamp] =>  ,[lastInsID] => ,[hasTop] => ,[readOnly] => ,[genID] => 0,[raiseErrorFn] => ,[cacheSecs] => 3600,[memCache] => ,[memCacheHost] => ,[memCachePort] => 11211,[memCacheCompress] => ,[sysUTimeStamp] => ,[noNullStrings] => ,[numCacheHits] => 0,[numCacheMisses] => 0,[pageExecuteCountRows] => 1,[uniqueSort] => ,[leftOuter] => ,[rightOuter] => ,[ansiOuter] => ,[autoRollback] => ,[fnExecute] => ,[fnCacheExecute] => ,[blobEncodeType] => ,[rsPrefix] => ADORecordSet_,[autoCommit] => 1,[transOff] => 0,[transCnt] => 0,[fetchMode] => 2,[null2null] => null,[bulkBind] => ,[_oldRaiseFn] => ,[_transOK] => ,[_connectionID] => mysqli Object ([affected_rows] => ,[client_info] => ,[client_version] => ,[connect_errno] => ,[connect_error] => ,[errno] => ,[error] => ,[error_list] => ,[field_count] => ,[host_info] => ,[info] => ,[insert_id] => ,[server_info] => ,[server_version] => ,[stat] => ,[sqlstate] => ,[protocol_version] => ,[thread_id] => ,[warning_count] => ),[_errorMsg] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY name' at line 1,[_errorCode] => ,[_queryID] => 1,[_isPersistentConnection] => ,[_evalAll] => ,[_affected] => ,[_logsql] => ,[_transmode] => ,[*connectionParameters] => Array (),[databaseName] => testlink),[queries_array] => Array (),[is_connected] => 1,[nQuery] => 0,[overallDuration] => 0,[dbType] => mysqli,[databaselogEnabled] => 0,[databaselogQueries] => 0), 7428, ) called at [C:\wamp64\www\testlink-1.9.18\lib\functions\common.php:439]
#3  initProject(database Object ([db] => ADODB_mysqli Object ([databaseType] => mysqli,[dataProvider] => mysql,[hasInsertID] => 1,[hasAffectedRows] => 1,[metaTablesSQL] => SELECT
			TABLE_NAME,
			CASE WHEN TABLE_TYPE = 'VIEW' THEN 'V' ELSE 'T' END
		FROM INFORMATION_SCHEMA.TABLES
		WHERE TABLE_SCHEMA=,[metaColumnsSQL] => SHOW COLUMNS FROM `%s`,[fmtTimeStamp] => 'Y-m-d H:i:s',[hasLimit] => 1,[hasMoveFirst] => 1,[hasGenID] => 1,[isoDates] => 1,[sysDate] => CURDATE(),[sysTimeStamp] => NOW(),[hasTransactions] => 1,[forceNewConnect] => 1,[poorAffectedRows] => 1,[clientFlags] => 0,[substr] => substring,[port] => 3306,[socket] => ,[_bindInputArray] => ,[nameQuote] => `,[optionFlags] => Array ([0] => Array ([0] => 5,[1] => 0)),[arrayClass] => ADORecordSet_array_mysqli,[multiQuery] => ,[_genIDSQL] => update %s set id=LAST_INSERT_ID(id+1);,[_genSeqSQL] => create table if not exists %s (id int not null),[_genSeqCountSQL] => select count(*) from %s,[_genSeq2SQL] => insert into %s values (%s),[_dropSeqSQL] => drop table if exists %s,[database] => testlink,[host] => localhost,[user] => root,[password] => not stored,[debug] => ,[maxblobsize] => 262144,[concat_operator] => +,[length] => length,[random] => rand(),[upperCase] => upper,[fmtDate] => 'Y-m-d',[true] => 1,[false] => 0,[replaceQuote] => \',[charSet] => ,[metaDatabasesSQL] => ,[uniqueOrderBy] => ,[emptyDate] =>  ,[emptyTimeStamp] =>  ,[lastInsID] => ,[hasTop] => ,[readOnly] => ,[genID] => 0,[raiseErrorFn] => ,[cacheSecs] => 3600,[memCache] => ,[memCacheHost] => ,[memCachePort] => 11211,[memCacheCompress] => ,[sysUTimeStamp] => ,[noNullStrings] => ,[numCacheHits] => 0,[numCacheMisses] => 0,[pageExecuteCountRows] => 1,[uniqueSort] => ,[leftOuter] => ,[rightOuter] => ,[ansiOuter] => ,[autoRollback] => ,[fnExecute] => ,[fnCacheExecute] => ,[blobEncodeType] => ,[rsPrefix] => ADORecordSet_,[autoCommit] => 1,[transOff] => 0,[transCnt] => 0,[fetchMode] => 2,[null2null] => null,[bulkBind] => ,[_oldRaiseFn] => ,[_transOK] => ,[_connectionID] => mysqli Object ([affected_rows] => ,[client_info] => ,[client_version] => ,[connect_errno] => ,[connect_error] => ,[errno] => ,[error] => ,[error_list] => ,[field_count] => ,[host_info] => ,[info] => ,[insert_id] => ,[server_info] => ,[server_version] => ,[stat] => ,[sqlstate] => ,[protocol_version] => ,[thread_id] => ,[warning_count] => ),[_errorMsg] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY name' at line 1,[_errorCode] => ,[_queryID] => 1,[_isPersistentConnection] => ,[_evalAll] => ,[_affected] => ,[_logsql] => ,[_transmode] => ,[*connectionParameters] => Array (),[databaseName] => testlink),[queries_array] => Array (),[is_connected] => 1,[nQuery] => 0,[overallDuration] => 0,[dbType] => mysqli,[databaselogEnabled] => 0,[databaselogQueries] => 0), Array ()) called at [C:\wamp64\www\testlink-1.9.18\lib\functions\common.php:505]
#4  testlinkInitPage(database Object ([db] => ADODB_mysqli Object ([databaseType] => mysqli,[dataProvider] => mysql,[hasInsertID] => 1,[hasAffectedRows] => 1,[metaTablesSQL] => SELECT
			TABLE_NAME,
			CASE WHEN TABLE_TYPE = 'VIEW' THEN 'V' ELSE 'T' END
		FROM INFORMATION_SCHEMA.TABLES
		WHERE TABLE_SCHEMA=,[metaColumnsSQL] => SHOW COLUMNS FROM `%s`,[fmtTimeStamp] => 'Y-m-d H:i:s',[hasLimit] => 1,[hasMoveFirst] => 1,[hasGenID] => 1,[isoDates] => 1,[sysDate] => CURDATE(),[sysTimeStamp] => NOW(),[hasTransactions] => 1,[forceNewConnect] => 1,[poorAffectedRows] => 1,[clientFlags] => 0,[substr] => substring,[port] => 3306,[socket] => ,[_bindInputArray] => ,[nameQuote] => `,[optionFlags] => Array ([0] => Array ([0] => 5,[1] => 0)),[arrayClass] => ADORecordSet_array_mysqli,[multiQuery] => ,[_genIDSQL] => update %s set id=LAST_INSERT_ID(id+1);,[_genSeqSQL] => create table if not exists %s (id int not null),[_genSeqCountSQL] => select count(*) from %s,[_genSeq2SQL] => insert into %s values (%s),[_dropSeqSQL] => drop table if exists %s,[database] => testlink,[host] => localhost,[user] => root,[password] => not stored,[debug] => ,[maxblobsize] => 262144,[concat_operator] => +,[length] => length,[random] => rand(),[upperCase] => upper,[fmtDate] => 'Y-m-d',[true] => 1,[false] => 0,[replaceQuote] => \',[charSet] => ,[metaDatabasesSQL] => ,[uniqueOrderBy] => ,[emptyDate] =>  ,[emptyTimeStamp] =>  ,[lastInsID] => ,[hasTop] => ,[readOnly] => ,[genID] => 0,[raiseErrorFn] => ,[cacheSecs] => 3600,[memCache] => ,[memCacheHost] => ,[memCachePort] => 11211,[memCacheCompress] => ,[sysUTimeStamp] => ,[noNullStrings] => ,[numCacheHits] => 0,[numCacheMisses] => 0,[pageExecuteCountRows] => 1,[uniqueSort] => ,[leftOuter] => ,[rightOuter] => ,[ansiOuter] => ,[autoRollback] => ,[fnExecute] => ,[fnCacheExecute] => ,[blobEncodeType] => ,[rsPrefix] => ADORecordSet_,[autoCommit] => 1,[transOff] => 0,[transCnt] => 0,[fetchMode] => 2,[null2null] => null,[bulkBind] => ,[_oldRaiseFn] => ,[_transOK] => ,[_connectionID] => mysqli Object ([affected_rows] => ,[client_info] => ,[client_version] => ,[connect_errno] => ,[connect_error] => ,[errno] => ,[error] => ,[error_list] => ,[field_count] => ,[host_info] => ,[info] => ,[insert_id] => ,[server_info] => ,[server_version] => ,[stat] => ,[sqlstate] => ,[protocol_version] => ,[thread_id] => ,[warning_count] => ),[_errorMsg] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY name' at line 1,[_errorCode] => ,[_queryID] => 1,[_isPersistentConnection] => ,[_evalAll] => ,[_affected] => ,[_logsql] => ,[_transmode] => ,[*connectionParameters] => Array (),[databaseName] => testlink),[queries_array] => Array (),[is_connected] => 1,[nQuery] => 0,[overallDuration] => 0,[dbType] => mysqli,[databaselogEnabled] => 0,[databaselogQueries] => 0), 1) called at [C:\wamp64\www\testlink-1.9.18\lib\general\mainPage.php:20]

что я сделал не так?

После рестарта всех сопутствующих служб 1.9.17 уже пишет:

 

 

Unknown Schema version DB 1.9.18, please upgrade your Testlink Database to DB 1.9.17

  • 0

#2 Starley25

Starley25

    Новый участник

  • Members
  • Pip
  • 8 сообщений

Отправлено 07 января 2021 - 13:42

Итак, переустановил 1.9.18 с нуля (не копируя файлы config.inc.php и config_db.inc.php из 1.9.17), авторизация проходит без проблем.

Каким образом корректно подключить/обновить БД 1.9.17 и работать с ней в 1.9.18?


  • 0

#3 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 07 января 2021 - 14:42

Там в описании процедуры апдейта БД еще есть "WARNING: if you are using a table prefix replace prefix with your prefix"


  • 0

#4 Starley25

Starley25

    Новый участник

  • Members
  • Pip
  • 8 сообщений

Отправлено 07 января 2021 - 16:12

Выполнил экспорт/импорт через MySQL Workbench и повторно дал привилегии на доступ к БД, авторизоваться под учеткой в 1.9.18 основной функционал работает, по при попытке редактировать шаги существующих кейсов получаю ошибку доступа к БД:

 ============================================================================== 
 DB Access Error - debug_print_backtrace() OUTPUT START 
 ATTENTION: Enabling more debug info will produce path disclosure weakness (CWE-200) 
            Having this additional Information could be useful for reporting 
            issue to development TEAM. 
 ============================================================================== 
#0  database->exec_query(/* Class:testproject - Method: isCodeTrackerEnabled */ SELECT code_tracker_enabled FROM testprojects WHERE id =17682, -1, -1) called at [C:\wamp64\www\testlink-1.9.18\lib\functions\database.class.php:769]
#1  database->get_recordset(/* Class:testproject - Method: isCodeTrackerEnabled */ SELECT code_tracker_enabled FROM testprojects WHERE id =17682) called at [C:\wamp64\www\testlink-1.9.18\lib\functions\testproject.class.php:3556]
#2  testproject->isCodeTrackerEnabled(17682) called at [C:\wamp64\www\testlink-1.9.18\lib\testcases\testcaseCommands.class.php:110]
#3  testcaseCommands->initGuiBean(stdClass Object ([assigned_keywords_list] => ,[container_id] => 0,[file_id] => 0,[tcase_id] => 18050,[tcversion_id] => 18051,[name] => ,[summary] => ,[preconditions] => ,[steps] => ,[expected_results] => ,[new_container_id] => 0,[old_container_id] => 0,[has_been_executed] => 1........
#4  testcaseCommands->editStep(stdClass Object ([assigned_keywords_list] => ,[container_id] => 0,[file_id] => 0,[tcase_id] => 18050,[tcversion_id] => 18051,[name] => ,[summary] => ,[preconditions] => ,[steps] => ,[expected_results] => ,[new_container_id] => 0,[old_container_id] => 0,[has_been_executed] => 1..............
 

В то же время при навигации по другим пунктам такой проблемы не возникает.


  • 0

#5 Starley25

Starley25

    Новый участник

  • Members
  • Pip
  • 8 сообщений

Отправлено 08 января 2021 - 17:38

Интересная получается ситуация, в первой строке ошибки:

#0  database->exec_query(/* Class:testproject - Method: isCodeTrackerEnabled */ SELECT code_tracker_enabled FROM testprojects WHERE id =17682, -1, -1) called at [C:\wamp64\www\testlink-1.9.18\lib\functions\database.class.php:769] 

упоминается запрос:

SELECT code_tracker_enabled FROM testprojects WHERE id =17682

хотя в инспекторе таблицы testprojects данный столбец отсутствует и подозреваю называется он попросту по другому:

Прикрепленный файл  42.jpg   55,42К   2 Количество загрузок:

получаем ситуацию, когда, фактически, обновление версии 1.9.17 до версии 1.9.18 либо не возможно, либо требует модификации наименований колонок.

При переименовании issue_tracker_enabled в code_tracker_enabled мы получаем куда более негативный вариант, а именно, рассыпаются все вьюхи работающие до этого исправно (например вьюха отображения пройденного кейса по завершенному тестплану).

Получаем ситуацию, что дешевле отредактировать функцию с запросом. Есть специалисты?


  • 0

#6 Starley25

Starley25

    Новый участник

  • Members
  • Pip
  • 8 сообщений

Отправлено 08 января 2021 - 18:10

Выявил еще один неприятный момент, при входе на версии 1.9.17 в управление тест-проектом до обновления на 1.9.18, то есть на копии существующего экземпляра 1.9.17 получаю ошибку:

Прикрепленный файл  46.jpg   99,14К   5 Количество загрузок:

хотя кейсы на редактирование в этой копии 1.9.17 открываются корректно по сравнению с обновленной 1.9.18.


  • 0

#7 Starley25

Starley25

    Новый участник

  • Members
  • Pip
  • 8 сообщений

Отправлено 08 января 2021 - 19:32

Выявил еще один неприятный момент, при входе на версии 1.9.17 в управление тест-проектом до обновления на 1.9.18, то есть на копии существующего экземпляра 1.9.17 получаю ошибку:

attachicon.gif 46.jpg

хотя кейсы на редактирование в этой копии 1.9.17 открываются корректно по сравнению с обновленной 1.9.18.

Данная проблема разрешается путем принудительного создания 2 таблиц:

codetrackers;

testproject_codetracker.


  • 0

#8 Starley25

Starley25

    Новый участник

  • Members
  • Pip
  • 8 сообщений

Отправлено 08 января 2021 - 20:25

 

 

при попытке редактировать шаги существующих кейсов получаю ошибку доступа к БД:

 

==============================================================================
DB Access Error - debug_print_backtrace() OUTPUT START
ATTENTION
: Enabling more debug info will produce path disclosure weakness (CWE-200)
Having this additional Information could be useful for reporting
issue to development TEAM
.
==============================================================================
#0 database->exec_query(/* Class:testproject - Method: isCodeTrackerEnabled */ SELECT code_tracker_enabled FROM testprojects WHERE id =17682, -1, -1) called at [C:\wamp64\www\testlink-1.9.18\lib\functions\database.class.php:769]
#1 database->get_recordset(/* Class:testproject - Method: isCodeTrackerEnabled */ SELECT code_tracker_enabled FROM testprojects WHERE id =17682) called at [C:\wamp64\www\testlink-1.9.18\lib\functions\testproject.class.php:3556]
#2 testproject->isCodeTrackerEnabled(17682) called at [C:\wamp64\www\testlink-1.9.18\lib\testcases\testcaseCommands.class.php:110]
#3 testcaseCommands->initGuiBean(stdClass Object ([assigned_keywords_list] => ,[container_id] => 0,[file_id] => 0,[tcase_id] => 18050,[tcversion_id] => 18051,[name] => ,[summary] => ,[preconditions] => ,[steps] => ,[expected_results] => ,[new_container_id] => 0,[old_container_id] => 0,[has_been_executed] => 1........
#4 testcaseCommands->editStep(stdClass Object ([assigned_keywords_list] => ,[container_id] => 0,[file_id] => 0,[tcase_id] => 18050,[tcversion_id] => 18051,[name] => ,[summary] => ,[preconditions] => ,[steps] => ,[expected_results] => ,[new_container_id] => 0,[old_container_id] => 0,[has_been_executed] => 1..............

 

Данная проблема разрешилась путем добавления колонки code_tracker_enabled в таблице testprojects, на версии 1.9.17 она попросту отсутствовала.

Всем спасибо за участие )


  • 0

#9 Vasiliy

Vasiliy

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 959 сообщений
  • ФИО:Касимов Василий
  • Город:Москва

Отправлено 11 января 2021 - 07:01

Вам спасибо за инструкцию))


  • 0

#10 VadimTigger

VadimTigger

    Новый участник

  • Members
  • Pip
  • 2 сообщений

Отправлено 27 апреля 2021 - 09:39

Всем привет , testlink 1.9.20.  При прогоне тестов очень часто такие ошибки 
DB Access Error - debug_print_backtrace() OUTPUT START ATTENTION: Enabling more debug info will produce path disclosure weakness (CWE-200) Having this additional Information could be useful for reporting issue to development TEAM. ============================================================================== #0 database->exec_query() called at [/opt/bitnami/testlink/lib/functions/database.class.php:641]
#1 database->fetchRowsIntoMap() called at [/opt/bitnami/testlink/lib/functions/testcase.class.php:9221]
#2 testcase->getStepsPartialExec() called at [/opt/bitnami/testlink/lib/execute/execSetResults.php:387]

 

Можно это исправить?


  • 0

#11 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 27 апреля 2021 - 10:29

https://stackoverflo...t-start-cwe-200


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных