On 23 May 11:01, Mathias Behrle wrote: > * Cédric Krier: " [tryton-dev] Database schema name limit" (Thu, 21 May 2015 > 17:52:57 +0200): > > > Hi, > > > > I'm facing a limitation with how trytond generate the table name for a > > ModelSQL. Databases have different length limitation for schema name. > > For example, > > PostgreSQL has the limit to 64 when Oracle has the limit to 30 > > (yes I'm working on an Oracle backend). > > > > I don't want that we change our naming convention because it is quite > > good and reducing the name will just bring a lot in readability. > > And we will be forced to use the least common constraint. > > > > So my idea is to have a configuration section which will provide the > > table name to use for a Model. > > > > Example: > > > > [table] > > account.invoice.payment_term.line.relativedelta = acc_inv_pt_l_reldelta > > account.payment.sepa.message = acc_payment_sepa_msg > > > > Of course such configuration could not be modified once a database has > > been created (or the table should be renamed). > > > > Side effect, it could also be used to fix naming conflict between 2 > > unrelated module (at the database level not Model.__name__). > > > > What do you think? > > The backside of this translation table is, that you have to know beforehand > all > tables in your database, before you install them and that it has to be done > manually.
Yes but any way, any *real* production installation will require to customize the database schema. I always thought that Tryton will never generate the perfect schema but only a minimal working schema. > What about a configuration option 'oracle_compatibility = True', that will > slug > the ususal names in a reproducible way? The problem is not oracle. The problem is the limitation that all databases have. But if you have a better solution, I will be graceful to evaluate. For example, a good algorithm to generate size compatible from Model name. -- Cédric Krier - B2CK SPRL Email/Jabber: cedric.kr...@b2ck.com Tel: +32 472 54 46 59 Website: http://www.b2ck.com/