Closed Bug 111716 Opened 23 years ago Closed 9 years ago

Support database table prefix

Categories

(Bugzilla :: Database, enhancement, P5)

2.23
enhancement

Tracking

()

RESOLVED WONTFIX

People

(Reporter: simona, Unassigned)

References

Details

In some scenarios (e.g. shared webserver environments such as at www.pair.com) 
only a limited number of databases are available. It would be good if the table 
names used by Bugzilla were user defineable at installation (perhaps a user set 
prefix to the standard table names) so that several bugzilla installations 
could share the same database e.g. one installation has a prefix live_ on all 
the table names and another uses test_  Or perhaps productgroup1_ and 
productgroup2_ depending on user requirements. In this way several bugzilla 
installs could share a single database without any clashes over table names.
Priority: -- → P4
Target Milestone: --- → Future
Severity: normal → enhancement
I agree. We only have one database available on our provider's system. This
database is used by other programs too.

Therefore the *default* table names should be:
	bugzilla_cc
	bugzilla_bugs
instead of:
	cc
	bugs

At the very least it should be possible to add a custom prefix in localconfig.
There's no way this will happen if it requires us to complicate our queries by
adding prefixes to each of them.  How it might happen, is if you can
transparently use a substitution regex to add the prefix, in SendSQL, or
whatever we're using nowadays.
It could be done by overriding $dbh->prepare, but it would be nearly impossible
to get right.
OS: FreeBSD → All
Priority: P4 → P5
Hardware: PC → All
Assignee: zach → installation
QA Contact: mattyt-bugzilla → default-qa
*** Bug 343426 has been marked as a duplicate of this bug. ***
Assignee: installation → database
Component: Installation & Upgrading → Database
Summary: RFE: The table names used by Bugzilla could be user defineable → Support database table prefix
Version: 2.14 → 2.23
Target Milestone: Future → ---
Too bad MySQL doesn't support ANSI schemas (as I recall, in 5.0 Create Schema became a synonym for Create Database).

Oracle and MSSQL make it easy, because you can just create a different schema on your database, and set that schema as the default for a given user.  That means you could transparently run multiple Bugzilla instances, each in their own schema (assuming you used different users for each instance.)

I think Postgres works that way as well.  Maybe that should be a default installation step, that when you create the database, users not using MySQL should create a schema and set the database user account to default to that schema?
Max, any interest in implementing this RFE? Else I would suggest WONTFIX.
If at some point in the future we switch to an ORM, it might be possible, so we can keep it open but P5. It's never going to happen as long as Bugzilla is full of raw SQL.
I don't think this will ever happen -> wontfix.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.