#27708: Relation between tables in different schemas with big names
-------------------------------------+-------------------------------------
Reporter: felipeps | Owner: nobody
Type: Bug | Status: new
Component: Migrations | Version: master
Severity: Normal | Resolution:
Keywords: different schema | Triage Stage: Accepted
relation |
Has patch: 0 | Needs documentation: 0
Needs tests: 1 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Description changed by felipeps:
Old description:
> I'm using Django 1.9.7 with Postgresql.
>
> When I try to migrate a relation between two tables in different
> schemas, for example: a table named ''**product**'', which is in a schema
> named ''**dataflex**'' and another table named
> ''**client_product_sale_stc**'' in another schema.
>
> I got this error:
>
> ----
>
> django.db.utils.ProgrammingError: ERRO: syntax error at or near
> "dataflex"
> LINE 1: ...CONSTRAINT "client_product_setor_id_52aad07a_fk_"dataflex"....
>
> ----
>
> After sometime trying to figure It out a solution for this problem, I
> tried to change the schemas's name to just ''**df**'' instead of
> ''**dataflex**'' and It worked perfectly.
>
> I also tried to decreased table's name size and It worked just like when
> I decreased schema's name size, so It seems to be a problem with big
> constraints names.
>
> I'm using the following syntax:
>
> db_table = '"dataflex"."product"'
>
> **setor_id** is the name of the field of the relation in
> client_product_sale_stx model/table.
> product model/table does not have a field for the relation.
>
> **Examples models:**
> {{{
> class ClientProductSaleStc():
> local_id = models.ForeignKey(EstoqueLocal, db_column='local_id')
> empresa_id = models.ForeignKey(Sced015, db_column='empresa_id')
> subcategoria_id = models.ForeignKey(ProdutoSubcategoria,
> db_column='subcategoria_id')
> produto_id = models.ForeignKey(ProdutoProduto,
> db_column='produto_id')
> setor_id = models.ForeignKey(Product, db_column='setor_id')
>
> class Meta:
> db_table = 'client_product_sale_stc'
>
> class Product():
> recnum = models.BigIntegerField(unique=True)
> hor_due = models.DecimalField(max_digits=2, decimal_places=0)
> min_due = models.DecimalField(max_digits=2, decimal_places=0)
>
> class Meta:
> db_table = '"dataflex"."product"'
> }}}
New description:
I'm using Django 1.9.7 with Postgresql.
When I try to migrate a relation between two tables in different schemas,
for example: a table named ''**product**'', which is in a schema named
''**dataflex**'' and another table named ''**client_product_sale_stc**''
in another schema.
I got this error:
----
django.db.utils.ProgrammingError: ERRO: syntax error at or near
"dataflex"
LINE 1: ...CONSTRAINT "client_product_setor_id_52aad07a_fk_"dataflex"....
----
After sometime trying to figure It out a solution for this problem, I
tried to change the schemas's name to just ''**df**'' instead of
''**dataflex**'' and It worked perfectly.
I also tried to decreased table's name size and It worked just like when I
decreased schema's name size, so It seems to be a problem with big
constraints names.
I'm using the following syntax:
db_table = '"dataflex"."product"'
**setor_id** is the name of the field of the relation in
client_product_sale_stx model/table.
product model/table does not have a field for the relation.
**Examples models:**
{{{
class ClientProductSaleStc():
setor_id = models.ForeignKey(Product, db_column='setor_id')
class Meta:
db_table = 'client_product_sale_stc'
class Product():
recnum = models.BigIntegerField(unique=True)
hor_due = models.DecimalField(max_digits=2, decimal_places=0)
min_due = models.DecimalField(max_digits=2, decimal_places=0)
class Meta:
db_table = '"dataflex"."product"'
}}}
--
--
Ticket URL: <https://code.djangoproject.com/ticket/27708#comment:7>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/066.953104745149ff3b3912c4086482fbd1%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.