I just started to work on Django 1.7 support for django-mssql and I don't
remember if it's too far along to get API changes in for the schema editor?
I've hit a few road blocks with the current implementation of
BaseSchemaEditor. I've only just started to get up to speed with the new
changes, so please bear with me. What the API seems to be lacking, at least
for my needs right now, is more hooks to execute the proper SQL.

There exists an alter_db_table method that acts as a shim for
sql_rename_table, but such a hook doesn't exist for sql_rename_column. I
need both of these because MSSQL uses a stored procedure to rename objects
[1], which needs the table and column names to be strings that haven't
passed through quote_name().

The second API issue I've run in to is that MSSQL's equivalent to DROP
DEFAULT (sql_alter_column_no_default) is to drop a named constraint. To be
able to do this, I need to be able to define the column's DEFAULT as a
named constraint (sql_alter_column_default). If the hooked method for these
were provided with the model and column name, that seems like it would be
sufficient for me to be able to generate a consistent, unique constraint
name for both of those.

The above would work when the default constraint was named. If its name is
not known (e.g. random constraint name for columns created before schema
migrations), the same hook should be able to allow me to do more invasive
prodding with MSSQL's schema tables.

[1] sp_rename - http://technet.microsoft.com/en-us/library/ms188351.aspx
[2] ALTER TABLE - http://msdn.microsoft.com/en-us/library/ms190273.aspx

Regards,
Michael Manfre

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" 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].
Visit this group at http://groups.google.com/group/django-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/CAGdCwBt3myq%3D9%2BYTtsuJmYOs0S%2BJ6fSQxFxK_Ci6yYDaw%3DR_Gw%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to