使用django迁移,如何更改auth_permission字段长度?

时间:2015-06-09 14:39:19

标签: django

我刚刚升级到Django 1.7,我的一些迁移存在一些问题。在升级之前,我使用South来处理数据迁移,我使用的一个迁移是改变auth_permissions中name字段的字段长度。

如何使用django迁移> = 1.7?

编写相同的迁移

2 个答案:

答案 0 :(得分:1)

是否还需要更改?该字段的长度在很长一段时间内都是一个已知问题,但错误跟踪器中的最新更新表明它是quintupled in length

如果您仍希望它更长,您可能需要this

编辑:现在就放弃吧。编写存储在应用程序A中但应用于应用程序B的迁移涉及比我有时间更深入的编辑。

建议路线:

  1. 在您自己的某个应用中的迁移中使用RunSQL手动调整字段。

  2. Fork Django 1.7.8,添加注释中描述的身份验证迁移,针对该github仓库进行pip安装。

  3. 使用Django 1.8,其中this change is standard

答案 1 :(得分:0)

有权限名称长度的问题 使用Django 1.8 Python 3.4.4 (这些是MySQL 5.6+使用的最新版本) 更改了base \ schema.py

_alter_field(...)

中的

# ********* altered - start
fragment, other_actions = self._alter_column_type_sql(table=model._meta.db_table, old_field=old_field, new_field=new_field.column, new_type=new_type)
# ******** end

将定义更改为:

def _alter_column_type_sql(self, table, old_column, column, type):

那就是它。所有迁移工作