Modify

Opened 6 years ago

Closed 6 years ago

Last modified 15 months ago

#3355 closed defect (fixed)

phpBB table prefix

Reported by: esycat Owned by: pacopablo
Priority: normal Component: PhpBbAuthPlugin
Severity: normal Keywords: database, options
Cc: Trac Release: 0.11

Description

Currently the name of phpBB users table is hardcoded in all SQL queries with default prefix.
I believe, it should be an option, that allows set this prefix.

Attachments (1)

3355_table_prefix.patch (2.5 KB) - added by pacopablo 6 years ago.
Patch to allow specifying of the table prefix for PhpBB tables

Download all attachments as: .zip

Change History (8)

comment:1 follow-up: Changed 6 years ago by pacopablo

  • Status changed from new to assigned

I'll admit to not being a phpBB expert, but does phpBB actually allow you to rename or specify which table is the users table? Do you have a specific use case for this?

comment:2 in reply to: ↑ 1 ; follow-up: Changed 6 years ago by esycat

Replying to pacopablo:

You can't change main part of the table names (e. g. "users", "posts"), but prefix "phpbb_" is customizable.

Usually prefix is used in order to names of tables from one project don't overlap with tables from others. But I, for example, have a separate database for forums, therefore during the installation I've set empty prefix, and tables are called just "users" and "posts" without "phpbb_".

Changed 6 years ago by pacopablo

Patch to allow specifying of the table prefix for PhpBB tables

comment:3 in reply to: ↑ 2 Changed 6 years ago by pacopablo

Replying to esycat:

Replying to pacopablo:

You can't change main part of the table names (e. g. "users", "posts"), but prefix "phpbb_" is customizable.

Usually prefix is used in order to names of tables from one project don't overlap with tables from others. But I, for example, have a separate database for forums, therefore during the installation I've set empty prefix, and tables are called just "users" and "posts" without "phpbb_".

OK, I just attached a patch that adds the ini option: phpbb_table_prefix to the [account-manager] section. In there you can specify whatever prefix you want, or leave it blank if you don't want. By default I have it set to phpbb_ which should preserve existing behavior.

Will you please test it out and let me know how it works?

comment:4 follow-up: Changed 6 years ago by esycat

Works correctly, thanks. One note — default prefix must be fully in lower case.

comment:5 in reply to: ↑ 4 Changed 6 years ago by pacopablo

Replying to esycat:

Works correctly, thanks. One note — default prefix must be fully in lower case.

Does phpBB lowercase the prefix? Am I guaranteed to never have a mixed case prefix? If so, I can change the patch fairly easily to always force a lowercase prefix.

comment:6 Changed 6 years ago by esycat

No, I mean that default prefix is "phpbb_", not "phpBB_". User might use any case.

I propose change this line in the patch:

+    table_prefix = Option('account-manager', 'phpbb_table_prefix', 'phpBB_',

with:

+    table_prefix = Option('account-manager', 'phpbb_table_prefix', 'phpbb_',

comment:7 Changed 6 years ago by pacopablo

  • Resolution set to fixed
  • Status changed from assigned to closed

(In [4041])

  • Fixes #3355 - Indeed the default prefix should have been lowercase. This is fixed in the applied patch. Thanks for the report and the suggestion.

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.