#26399: Refactor SchemaEditor to facilitate Firebird handlings of column 
defaults
--------------------------------------+------------------------------------
     Reporter:  maxirobaina           |                    Owner:  nobody
         Type:  Cleanup/optimization  |                   Status:  new
    Component:  Migrations            |                  Version:  master
     Severity:  Normal                |               Resolution:
     Keywords:                        |             Triage Stage:  Accepted
    Has patch:  0                     |      Needs documentation:  0
  Needs tests:  0                     |  Patch needs improvement:  0
Easy pickings:  0                     |                    UI/UX:  0
--------------------------------------+------------------------------------
Changes (by timgraham):

 * needs_better_patch:   => 0
 * needs_tests:   => 0
 * needs_docs:   => 0
 * type:  Uncategorized => Cleanup/optimization
 * stage:  Unreviewed => Accepted


Old description:

> I humbly think that django migration api need a some refactoring to
> facilitate third-party backend integration.
>
> For instance, add_field method ![1], if I try to delete a default value
> on a column that does not have a previous default value definition I get
> an error on firebird, for which reason, I need to check if that field has
> got defined a default value before. Then I need to rewrite the whole
> add_field method too.
>
> Maybe a possible approach would be to have sql templates
> (sql_alter_column_default, sql_alter_column_no_default, etc) as methods,
> instead of class attributes.
>
> A disscusion about this en google groups
> https://groups.google.com/forum/#!topicsearchin/django-
> developers/migrations$20firebird/django-developers/yZ0IWGT2qZQ
>
> ![1]
> https://github.com/django/django/blob/master/django/db/backends/base/schema.py#L373

New description:

 I humbly think that django migration api need a some refactoring to
 facilitate third-party backend integration.

 For instance, the
 
[https://github.com/django/django/blob/14e6823d090a077d27f9f7caff2d505db31e55a7/django/db/backends/base/schema.py#L373
 SchemaEditor.add_field()] method, if I try to delete a default value on a
 column that does not have a previous default value definition I get an
 error on firebird, for which reason, I need to check if that field has got
 defined a default value before. Then I need to rewrite the whole add_field
 method too.

 Maybe a possible approach would be to have sql templates
 (`sql_alter_column_default`, `sql_alter_column_no_default`, etc.) as
 methods, instead of class attributes.

 [https://groups.google.com/d/topic/django-
 developers/yZ0IWGT2qZQ/discussion A discussion about this on django-
 developers].

--

Comment:

 It will be easiest to move forward with this if you can submit a pull
 request with a proposal.

--
Ticket URL: <https://code.djangoproject.com/ticket/26399#comment:1>
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 django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/069.3dfcd62d24ae17b1b0497aff79eac128%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to