#126 closed enhancement (fixed)
Database Independence [merge]
| Reported by: | Stephen <trac@…> | Owned by: | anonymous |
|---|---|---|---|
| Priority: | high | Milestone: | 0.9 |
| Component: | general | Version: | devel |
| Severity: | normal | Keywords: | |
| Cc: | |||
| Release Notes: | |||
| API Changes: | |||
Description
Specifically I would love to run trac against PostgreSQL, but if its architecture could be designed such that any DB-API compliant database can be plugged into it, that'd be great.
My reasons are this desire is interoperability. For example, I plan on coding up a subversion hook so that if someone writes 'closes #4' into the commit message, it'll close the issue. Also, the ability to generate dynamic reports in say, Excel, by connecting to the database via ODBC is desired by The Powers That Be.
This may or may not be possible w/ SQLite, but I'm familiar and confidant about PostgreSQL, so :)
Attachments (1)
Change History (36)
comment:1 Changed 9 years ago by rocky
- Owner changed from jonas to rocky
- Status changed from new to assigned
- Summary changed from Database Independance to Database Independance [merge]
comment:2 Changed 9 years ago by jonas
- Milestone set to 0.8
comment:3 Changed 9 years ago by daniel
- Milestone changed from 0.8 to 1.0
comment:4 Changed 9 years ago by mcarpenter@…
rocky you say you have a patch that would enable this. Could you attach it to this ticket?
comment:5 Changed 9 years ago by anonymous
- Owner changed from rocky to anonymous
- Priority changed from normal to highest
- Status changed from assigned to new
== ==
comment:6 Changed 8 years ago by cboos@…
See also the DatabaseBackend design discussion.
comment:7 Changed 8 years ago by Brad Anderson <brad@…>
- Summary changed from Database Independance [merge] to Database Independence [merge]
A more recent PostgreSQL effort is here.
comment:8 Changed 8 years ago by anonymous
- Status changed from new to assigned
comment:9 Changed 8 years ago by anonymous
- Resolution set to fixed
- Status changed from assigned to closed
comment:10 Changed 8 years ago by cmlenz
- Resolution fixed deleted
- Status changed from closed to reopened
Sigh.
comment:11 Changed 8 years ago by anonymous
- Component changed from general to trac-admin
- Milestone changed from 1.0 to 0.5
- Priority changed from highest to normal
- Resolution set to worksforme
- Severity changed from enhancement to critical
- Status changed from reopened to closed
comment:12 Changed 8 years ago by cmlenz
- Component changed from trac-admin to general
- Milestone changed from 0.5 to 0.9
- Priority changed from normal to high
- Resolution worksforme deleted
- Severity changed from critical to enhancement
- Status changed from closed to reopened
Thank you very much.
comment:13 Changed 8 years ago by anonymous
- Component changed from general to project
- Resolution set to fixed
- Severity changed from enhancement to major
- Status changed from reopened to closed
comment:14 Changed 8 years ago by cmlenz
- Component changed from project to general
- Resolution fixed deleted
- Severity changed from major to enhancement
- Status changed from closed to reopened
Okay, you've had your fun. Stop this.
comment:15 Changed 8 years ago by anonymous
- Resolution set to fixed
- Status changed from reopened to closed
comment:16 Changed 8 years ago by anonymous
- Resolution fixed deleted
- Status changed from closed to reopened
comment:17 Changed 8 years ago by mrowe
sigh
comment:18 Changed 8 years ago by asir <toliuch@…>
To change the database backend to any standalone database server would give trac more concurrent transaction ability, since the source code repository backend(svn) can handle very large scale project(s). So, I think this ticket is very important for trac to be applied in the real world.
comment:19 Changed 8 years ago by asir <toliuch@…>
- Severity changed from enhancement to critical
Trac would not be practical unless it works with a standalone database backend.
comment:20 Changed 8 years ago by cboos
- Severity changed from critical to enhancement
For you, perhaps. But for the vast majority of Trac users, SQLite is fine for the job: it's robust and fast, and a no-brainer to install, have you tried it? I would be curious to know with what kind of load it starts to moan… For example, I tried it with a copy of the Subversion repository (> 12000 commits, admittedly a big repository) without any problem.
I'm not saying anything against having the choice of DatabaseBackend. I only think it's not fair to dismiss Trac's rightful IMHO choice of SQLite as its first and default DB backend.
comment:21 Changed 8 years ago by anonymous
- Resolution set to wontfix
- Status changed from reopened to closed
comment:22 Changed 8 years ago by cboos
Looking at the history of anonymous interventions on this ticket, I guess we have a TicketButcher at work here, who is practising DisagreeByDeleting…
(btw, let's drop a quick InterWiki test here: Wiki:DisagreeByDeleting)
comment:23 Changed 8 years ago by cboos
- Resolution wontfix deleted
- Status changed from closed to reopened
… and then, getting distracted by the InterWiki idea, I forgot to reopen that ticket…
comment:24 Changed 8 years ago by clee@…
Doesn't trac provide a way to lock down status changes (resolve, close, reassign) to logged-in users via some sort of ACL?
comment:25 Changed 8 years ago by cmlenz
- Resolution set to fixed
- Status changed from reopened to closed
comment:26 Changed 8 years ago by anonymous
Seems as though if PostgreSQL is implemented through a PyDB API module than MySQL support should also be trivial, right?
comment:27 Changed 8 years ago by daejuan@…
Not really, MySQL is the oddball when it comes to database servers. MySQL's nonstandard behavior and odd quirks will hurt you when programming abstraction layers.
comment:28 Changed 8 years ago by daejuan@…
I also forgot to mention, I believe, as someone suggested DatabaseBackend , ADOdb is something to look into. For the simple fact that the current 9.0 will use a library that hasn't been updated in 2 years PostgresqlPatch?
comment:29 Changed 8 years ago by anonymous
comment:30 Changed 8 years ago by anonymous
Can't someone write a ConnectionWrapper? that works with pysqlite2 ?
comment:31 Changed 8 years ago by gbc@…
- Milestone changed from 0.9 to 1.0
Well,
the independence from a database as backend (or even a filesystem-based/Subversion based backend) would be agreat enhancement inho. Remember that many admins would love to see Trac and subversion running in THEIR enviromnent (guidlines from above…) w/o opening other ports/installing custom databases and so on. Why isn't there a plan for general abstraction layer from all that prequisites? It is really hard for me as unexperienced admin to get Trac and Subversion running in my Environment (IIS 5.1/MS SQL). I have no clue how to get everything running…
comment:32 Changed 8 years ago by mgood
- Milestone changed from 1.0 to 0.9
Please don't target closed tickets to future milestones.
If there are concrete suggestions for some of the topics mentioned above please file them as separate ticket, but if you just need support with the installation use the MailingList or IrcChannel to ask for help.
comment:33 Changed 7 years ago by trac@…
I've added a patch for enabling MySQL support. At the moment it only supports connection strings in the format of: mysql://user:password@host:port/database mysql://user:password@host/database
I did have to make one database schema change because MySQL doesn't like to AUTO_INCREMENT a TEXT column, so I changed it to INT.
Beware: I still haven't tested to see if it breaks SQLite and PostgreSQL support!
comment:34 Changed 7 years ago by markus
Very nice! However, could you open a new ticket as this one is already marked as fixed and about adding PostgreSQL support?
comment:35 Changed 7 years ago by trac@…
Should I just reopen #986, which was marked duplicate of this, but does mention MySQL?



I've provided a diff that removes all sqlite'isms and seems to enable Trac to run PostgreSQL.