Django và nam newbie tại đâyThay đổi mã hóa của bảng bằng django + south migrations
Tôi cần thay đổi mã hóa bảng tôi đã tạo, có ai biết cách làm như vậy bằng cách di chuyển không?
Django và nam newbie tại đâyThay đổi mã hóa của bảng bằng django + south migrations
Tôi cần thay đổi mã hóa bảng tôi đã tạo, có ai biết cách làm như vậy bằng cách di chuyển không?
Tôi nghĩ giải pháp sẽ cụ thể cho từng cơ sở dữ liệu. Ví dụ: đối với cơ sở dữ liệu 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']
Xin chào, cảm ơn rất nhiều, tôi hiện đang thử nghiệm đề xuất của bạn. Tôi đã tự hỏi, có cách nào để làm điều này bằng cách sử dụng manage.py schemamigration --auto? (tức là chỉ thay đổi mô hình) –
Bạn đang cố thay đổi mã hóa chỉ một bảng hoặc toàn bộ cơ sở dữ liệu? Bạn đang dùng gói dữ liệu nào vậy? –
chỉ một bảng. Tôi đang sử dụng mysql –