Hi Sean,

if you find a simpler way that will work in the OTRS architecture, I'm
absolutely open.

OTRS defines database schemas and schema changes in XML, please see
scripts/database/otrs-schema.xml. From this, the DBObject creates the
SQL files for the different DB types with the help of our "drivers",
mssql for example. So there is one common XML source that feeds all the
different database types (see also
http://doc.otrs.org/developer/3.3/en/html/ch02s02.html for a summary).

This means we have no options to perform exceptions for particular
databases, which is why I believe adding primary keys to all tables
would be the right thing to do. If you have another proposal, please
explain it.

Regards, mg

Am 07.04.14 17:56, schrieb Sean Killeen:
> Hi Martin,
> 
> Thanks for being so receptive to the idea and continuing the conversation.
> I'm wondering if there might be a simpler answer than what you've proposed.
> 
> SQL Azure doesn't require a primary key on the tables -- rather, it only
> requires a clustered index so that it has an indication of how to store the
> data. I believe it's very possible that if we create the appropriate
> clustered index to instruct SQL Server how to store data at the leaf level,
> we don't necessarily need to create a primary key. Additionally, if these
> tables were previously small enough to be heaps, we may not need to create
> the clustered indexes perfectly.
> 
> Given my understanding of the above, I was wondering if this couldn't be
> accomplished with changes to the MSSQL database schema setup &
> transformation scripts alone, saving us the necessary work on the drivers,
> etc. since they'd continue to operate normally. Unlike a primary key,
> adding a clustered index wouldn't introduce constraints -- though I might
> be ignorant of problems it would cause elsewhere somehow.
> 
> Is there something I'm missing that would require us to do more work than
> that? Happy to put in the work, of course, but I'm thinking we might be
> able to accomplish this with less ripple effect and I'm all for that.
> 
> Thanks again,
> 
> 
> --
> Sean
> 
> 
> On Mon, Apr 7, 2014 at 7:30 AM, Martin Gruner <martin.gru...@otrs.com>wrote:
> 
>> Hi Sean, hi Mike,
>>
>> this is a very interesting, but also challenging project. Essentially
>> this boils down to adding primary keys to tables that don't have them
>> yet. There are a few obstacles though:
>>
>> - The database drivers of OTRS don't support adding of primary keys to
>> existing tables (yet).
>> - Once this is done for the framework, we will also need to enforce
>> primary keys for all OTRS modules.
>>
>> So the steps to achieve this would be:
>>
>> 1. Add the possibility to add primary keys to all database drivers in
>> OTRS (mysql, postgresql, mssql and oracle). Maybe Mike could help here
>> with the non-mssql databases. This must be covered well with unit tests
>> and should be merged as a separate pull request before the work continues=

-- 
Martin Gruner
Senior Developer R&D

OTRS AG
Bahnhofplatz 1a
94315 Straubing

T: +49 (0)6172 681988 0
F: +49 (0)9421 56818 18
I:  www.otrs.com/

Geschäftssitz: Bad Homburg, Amtsgericht: Bad Homburg, HRB 10751,
USt-Nr.: DE256610065
Aufsichtsratsvorsitzender: Burchard Steinbild, Vorstand: André
Mindermann (Vorsitzender), Christopher Kuhn, Sabine Riedel

Einfache Planung, bessere Übersicht - Mit OTRS 3.3 einfach besseres
Service Management - Jetzt downloaden und testen
_______________________________________________
OTRS mailing list: dev - Webpage: http://otrs.org/
Archive: http://lists.otrs.org/pipermail/dev
To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/dev

Reply via email to