django-evolution 插件维持Django 模型和数据库结构一致的基本原理
时间:2011-04-15 来源:宏歌
django_evolution 插件中用于保存上个数据库版本的字符串为:
"latest_version.signature"= unicode: (dp1\nS'sessions'\np2\nccopy_reg\n_reconstructor\np3\n(cdjango.utils.datastructures\nSortedDict\np4\nc__builtin__\ndict\np5\n(dp6\nS'Session'\np7\n(dp8\nS'fields'\np9\n(dp10\nS'session_key'\np11\n(dp12\nS'field_type'\np13\ncdjango.db.models.fields\nCharField\np14\nsS'max_length'\np15\nI40\nsS'primary_key'\np16\nI01\nssS'expire_date'\np17\n(dp18\ng13\ncdjango.db.models.fields\nDateTimeField\np19\nssS'session_data'\np20\n(dp21\ng13\ncdjango.db.models.fields\nTextField\np22\nsssS'meta'\np23\n(dp24\nS'unique_together'\np25\n(lp26\nsS'db_table'\np27\nS'django_session'\np28\nsS'db_tablespace'\np29\nS''\nsS'pk_column'\np30\ng11\nssstRp31\n(dp32\nS'keyOrder'\np33\n(lp34\ng7\nasbsS'messages'\np35\ng3\n(g4\ng5\n(dtRp36\n(dp37\ng33\n(lp38\nsbsS'sites'\np39\ng3\n(g4\ng5\n(dp40\nS'Site'\np41\n(dp42\ng9\n(dp43\nS'domain'\np44\n(dp45\ng13\ng14\nsg15\nI100\nssS'id'\np46\n(dp47\ng13\ncdjango.db.models.fields\nAutoField\np48\nsg16\nI01\nssS'name'\np49\n(dp50\ng13\ng14\nsg15\nI50\nsssg23\n(dp51\ng25\n(lp52\nsg27\nS'django_site'\np53\nsg29\nS''\nsg30\ng46\nssstRp54\n(dp55\ng33\n(lp56\ng41\nasbsS'auth'\np57\ng3\n(g4\ng5\n(dp58\n...、
每次model变化产生的新的字符串都会保存在数据库django_project_version表中: