[Owncloud] Core db schema broken and unfixable without new installation
Bernhard Posselt
nukeawhale at gmail.com
Mon Mar 18 23:09:22 UTC 2013
https://github.com/owncloud/core/issues/2142#issuecomment-15085798
Tanghus will fix it :)
On 03/18/2013 11:48 PM, Jörn Friedrich Dreyer wrote:
> Which database are you using? And which tables lack an autoincrement
> id and a manually defined Index, too? AFAIR the core database schema
> defines indexes for all full table scans that appear in the Core code.
> A customer found some missing ones in OC4.5 but they were missing
> because I backported the new Gallery to 4.5 for them. OC5 I think is
> all peachy.
>
> With regard to foreign keys let me tell you that from a practical
> perspective you don't want to have them defined in your database for
> the following reason: at some point in time you will want to store a
> partially complete or inconsistent model in your database (eg, because
> you need to save work in progress). That will be the time you curse
> your foreign keys, because they were invented to prevent you from
> doing that. Especially migrations are a lot easier when you can leave
> depending tupels in a table ... Just my 2 cents.
>
>
>
> Bernhard Posselt <nukeawhale at gmail.com> schrieb:
>
> On 03/18/2013 07:29 PM, Daniel Danger wrote:
>
> Hi, On 03/18/2013 07:05 PM, André Schild wrote:
>
> Am 18.03.2013 18:49, schrieb Bernhard Posselt:
>
> On 03/18/2013 06:48 PM, Thomas Tanghus wrote:
>
> On Monday 18 March 2013 17:15 Bernhard Posselt wrote:
>
> I've tried adding those fields and removing
> the primary key values from the indices fields
> (why the fuck are they even in there!?)
>
> Defining a primary key in the MDB2 Schema definition has some
> pitfalls. quoting from
> https://raw.github.com/pear/MDB2_Schema/master/docs/xml_schema_documentation.html
> : 1) <autoincrement>: "Boolean flag property that specifies
> whether the field should be an auto incrementing not null
> integer field with a primary key." 2) <primary>: "Boolean flag
> property that specifies whether the combination of the values
> of the index fields on each row of the table should be a
> primary key." Keep in mind, that the autoincrement tag is only
> defined within a <field> declaration and the primary tag is
> only defined within a <index> declaration.
>
> Yeah but if the field that the index refers to is a
> primary key, then so is the index. Or am i wrong?
>
> Some databases automatically create indexes for PK fields,
> for others you have to create a index for PK fields.
>
> For all intends and purposes the primary key IS an index. So
> it makes sense to define it as an index. (in some cases you
> need the primary key to be composed of more than one field, in
> which case this is the only way to define it).
>
> In a DB schema PK fields makes most sense when you then
> also use them in foreign keys, that way your data integr
> ity is protected by the database.
>
> Well, foreign keys are not used in owncloud. myisam doesn't
> support them. And there are strong advocates for not dropping
> myisam support. HTH Daniel
> ------------------------------------------------------------------------
> Owncloud mailing list Owncloud at kde.org
> https://mail.kde.org/mailman/listinfo/owncloud
>
> ok, just checked: unique, index and autoincrement gets transformed to
> primary key. Well this is awkward. That doesnt change the fact that the
> schema is missing tons of primary keys though.
> ------------------------------------------------------------------------
>
> Owncloud mailing list
> Owncloud at kde.org
> https://mail.kde.org/mailman/listinfo/owncloud
>
>
> --
> Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail
> gesendet.
>
>
> _______________________________________________
> Owncloud mailing list
> Owncloud at kde.org
> https://mail.kde.org/mailman/listinfo/owncloud
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/owncloud/attachments/20130319/b5ba4cbb/attachment.html>
More information about the Owncloud
mailing list