Hey Florian,

I think both options are viable.

The main issue with a feature flag would be that it isn't tested by our CI. 
I guess we
could make it True on SQLite and have it call remake_table to have some 
tests rely
on it or mock it to True in tests and make sure everything goes well.

In all cases breaking the humongous _alter_field method into smaller ones 
can't
hurt.

Cheers,
Simon

Le mardi 9 mai 2017 09:24:46 UTC-4, Florian Apolloner a écrit :
>
> I am currently trying to (again?) write a database backend for Informix. 
> So far so good, but I am running into one major issue: All of Django's 
> other databases support changing null/default properties via "ALTER TABLE 
> ALTER col DROP NULL/DEFAULT" or what not. In Informix I can only use "ALTER 
> TABLE MODIFY" and rewrite the column completely [1]. This means that I 
> would need more information in [2] (which I initially tried in 
> https://github.com/django/django/commit/2b3a9414570af623853ca0f819c7d77d0511f22c
>  
> before noticing that I need to repeat the whole column declaration). I am 
> looking into options to extend _alter_field [3] in a way that I can either 
> add a database feature that says something along the line of: "field 
> property changes need full remake" and then call into 
> _alter_column_type_sql directly, or at least factor the (for me) annoying 
> parts out into _alter_column_properties.
>
> Which of the two would you prefer?
>
> Thanks,
> Florian
>
> [1] 
> https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.sqls.doc/ids_sqs_0290.htm
>  
> [2] 
> https://github.com/django/django/blob/837259a63ff03fbc0ca2bc2999a6fbc8c6c40bcc/django/db/backends/base/schema.py#L39-L42
>  
> [3] 
> https://github.com/django/django/blob/837259a63ff03fbc0ca2bc2999a6fbc8c6c40bcc/django/db/backends/base/schema.py#L581-L640
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers  (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-developers+unsubscr...@googlegroups.com.
To post to this group, send email to django-developers@googlegroups.com.
Visit this group at https://groups.google.com/group/django-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/9c5cc446-bed9-40c2-a938-60e2cc45a96d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to