Skip to content

Удаление полей с таблицы members

В таблице members множество ненужных полей, которые хотелось бы удалить. Так как таблица members много имеет полей, хотелось бы её разгрузить.

 

Так как я использую стороннюю авторизации через соцсети, то мне и поля Вконтакте, Фейсбука и твиттера не нужны. а именно:

  • fb_uid
  • fb_emailhash
  • fb_lastsync
  • twitter_id
  • twitter_token
  • twitter_secret
  • fb_session
  • fb_token
  • vk_uid
  • live_id

На тестовом форуме удалил - всё нормально, облегчил таблице. Но вот при регистрации нового юзера - выбивает в ошибку базы данных. Как мне избавиться от этой кучи ненужного мне мусора?

Edited by Haktar

Featured Replies

Но вот при регистрации нового юзера - выбивает в ошибку базы данных.

Смотрите логи.

Можно в файлах поискать ненужные поля.

  • Author

@newbie,

 

 

Date: Tue, 07 Nov 2017 15:00:25 +0000

Error: 1054 - Unknown column 'fb_uid' in 'field list'

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

mySQL query error: INSERT INTO imperiall_members (`name`,`members_display_name`,`email`,`member_group_id`,`joined`,`ip_address`,`time_offset`,`coppa_user`,`members_auto_dst`,`allow_admin_mails`,`hide_email`,`members_l_username`,`members_created_remote`,`member_login_key`,`member_login_key_expire`,`view_sigs`,`view_img`,`view_avs`,`bday_day`,`bday_month`,`bday_year`,`restrict_post`,`msg_count_total`,`msg_count_new`,`msg_show_notification`,`auto_track`,`last_visit`,`last_activity`,`language`,`members_editor_choice`,`members_pass_salt`,`members_pass_hash`,`members_l_display_name`,`fb_uid`,`fb_emailhash`,`members_seo_name`,`members_bitoptions`) VALUES('456t5yt5','456t5yt5','456t5yt5@mail.ru',3,1510066824,'77.120.223.79',-5,0,0,1,0,'456t5yt5',0,'ce3f52953c01b4a9ba2b02ae58b47c92',0,1,1,1,0,0,0,0,0,0,1,0,1510066825,1510066825,1,'std','*4l;~','9f35ad2f11696a410f49f99c5ad92fd0','456t5yt5',0,'','456t5yt5',0)

.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.

| File | Function | Line No. |

|----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------|

| admin/sources/base/core.php | [db_main_mysql].insert | 6242 |

'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'

| admin/applications/core/modules_public/global/register.php | [iPSMember].create | 1901 |

'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'

| admin/applications/core/modules_public/global/register.php | [public_core_global_register].registerProcessForm | 51 |

'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'

| admin/sources/base/ipsController.php | [public_core_global_register].doExecute | 285 |

'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'

 

 

Как я понял нужно с файла register.php удалить всё что касаеться fb_uid и fb_emailhash. Смотрел файл - запутано, можно удалить и нужную информацию ненароком.

\admin\sources\base\core.php

		$finalTables['members']['fb_uid']	 	            = isset($finalTables['members']['fb_uid']) ? $finalTables['members']['fb_uid'] : 0;
	$finalTables['members']['fb_emailhash']	            = isset($finalTables['members']['fb_emailhash']) ? strtolower($finalTables['members']['fb_emailhash']) : '';

  • Author

\admin\sources\base\core.php

Спасибо.

 

Но ещё надо в этом же файле

Найти:

foreach( array( 'pp_last_visitors', 'pp_about_me', 'notes', 'signature', 'fb_photo', 'fb_photo_thumb', 'pconversation_filters',

 

Заменить на:

foreach( array( 'pp_last_visitors', 'pp_about_me', 'notes', 'signature', 'pconversation_filters',

 

А также в таблице profile_portal удалить поля fb_photo, fb_photo_thumb и fb_bwoptions

 

После этого регистрация проходит нормально. Пока тестирую. Ошибок не видно.

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.