home / django_tickets / tickets

tickets: 8659

This data as json

id created changetime last_pulled_from_trac stage status component type severity version resolution summary description owner reporter keywords easy has_patch needs_better_patch needs_tests needs_docs ui_ux
8659 2008-08-28 22:29:34 2011-09-28 16:12:21 2022-03-06 03:42:50.275113 Accepted closed Database layer (models, ORM)     dev invalid Quote relation name creating PostgreSQL database Using PostgreSQL as a database backend, if I define a model with a foreignkey field with an uppercase letter in the attribute name, the relation constrait name would end with all the letters in lowercase. This can have various side effects such as not being able to reset the database becuase Django can't remove the constrait (it tries to remove a constrait with uppercase letters and the one in the database is all lowercase). This happens because the constraint name is not quoted when the database is created. All it takes to fix this is add backend.quote_name to the name while creating the sql. I fixed it in 0.96 but I can't find where this should be changed in SVN. Bad SQL: {{{ALTER TABLE "proto0_viaje" ADD CONSTRAINT reservadoPor_id_refs_id_331c0818 FOREIGN KEY ("reservadoPor_id") REFERENCES "proto0_empleado" ("id") DEFERRABLE INITIALLY DEFERRED;}}} Good SQL: {{{ALTER TABLE "proto0_viaje" ADD CONSTRAINT "reservadoPor_id_refs_id_331c0818" FOREIGN KEY ("reservadoPor_id") REFERENCES "proto0_empleado" ("id") DEFERRABLE INITIALLY DEFERRED;}}} nobody Hystrix   0 0 0 0 0 0
Powered by Datasette · Queries took 72.327ms