【问题标题】:Changing the encoding of a table with django+south migrations使用 django+south 迁移更改表的编码
【发布时间】:2010-08-04 10:45:52
【问题描述】:

Django 和南方新手在这里

我需要更改我创建的表的编码,有人知道使用迁移的方法吗?

【问题讨论】:

  • 您是要更改一个表的编码还是整个数据库的编码?你用的是什么数据库?
  • 只有一张桌子。我正在使用 mysql

标签: python django django-south


【解决方案1】:

我认为解决方案将是特定于数据库的。例如,对于 MySQL 数据库:

from south.db import db
from south.v2 import SchemaMigration

class Migration(SchemaMigration):
    def forwards(self, orm):
        db.execute('alter table appname_modelname charset=utf8')
        db.execute('alter table appname_modelname alter column fieldname charset=utf8')
        # et cetera for any other char or text columns

    def backwards(self, orm):
        db.execute('alter table appname_modelname charset=latin1')
        db.execute('alter table appname_modelname alter column fieldname charset=latin1')
        # et cetera for any other char or text columns

    complete_apps = ['appname']

【讨论】:

  • 您好,非常感谢,我现在正在测试您的建议。我想知道,有没有办法使用 manage.py schemamigration --auto 来做到这一点? (即只是改变模型)
猜你喜欢
  • 2011-08-14
  • 2013-04-19
  • 2013-02-13
  • 2014-05-01
  • 2012-08-06
  • 2012-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多