1. 程式人生 > >migration作用分析

migration作用分析

migration的作用和程式碼分析

`class Migration(migrations.Migration):

dependencies = [
    migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ('courses', '0001_initial'),
]

operations = [
    migrations.CreateModel(
        name='UserAsk',
        fields=[
            ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
            ('name', models.CharField(max_length=20, verbose_name=b'\xe5\xa7\x93\xe5\x90\x8d')),
            ('mobile', models.CharField(max_length=11, verbose_name=b'\xe6\x89\x8b\xe6\x9c\xba')),
            ('comments', models.CharField(max_length=200, verbose_name=b'\xe8\xaf\x84\xe8\xae\xba')),
            ('add_time', models.DateTimeField(default=datetime.datetime.now, verbose_name=b'\xe6\xb7\xbb\xe5\x8a\xa0\xe6\x97\xb6\xe9\x97\xb4')),
        ],
        options={
            'verbose_name': '\u8bfe\u7a0b\u8bc4\u8bba',
            'verbose_name_plural': '\u8bfe\u7a0b\u8bc4\u8bba',
        },
    ),
    migrations.CreateModel(
        name='UserCourse',
        fields=[
            ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
            ('add_time', models.DateTimeField(default=datetime.datetime.now, verbose_name=b'\xe6\xb7\xbb\xe5\x8a\xa0\xe6\x97\xb6\xe9\x97\xb4')),
            ('course', models.ForeignKey(verbose_name=b'\xe8\xaf\xbe\xe7\xa8\x8b', to='courses.Course')),
            ('user', models.ForeignKey(verbose_name=b'\xe7\x94\xa8\xe6\x88\xb7', to=settings.AUTH_USER_MODEL)),
        ],
        options={
            'verbose_name': '\u7528\u6237\u5b66\u4e60\u8fc7\u7684\u8bfe\u7a0b',
            'verbose_name_plural': '\u7528\u6237\u5b66\u4e60\u8fc7\u7684\u8bfe\u7a0b',
        },
    ),
    migrations.CreateModel(
        name='UserFavorite',
        fields=[
            ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
            ('fav_id', models.IntegerField(default=0, verbose_name=b'\xe6\x94\xb6\xe8\x97\x8f\xe6\x95\xb0\xe6\x8d\xaeID')),
            ('fav_type', models.IntegerField(default=1, verbose_name=b'\xe6\x94\xb6\xe8\x97\x8f\xe7\xb1\xbb\xe5\x9e\x8b', choices=[(1, b'\xe8\xaf\xbe\xe7\xa8\x8b'), (2, b'\xe8\xaf\xbe\xe7\xa8\x8b\xe6\x9c\xba\xe6\x9e\x84'), (3, b'\xe8\xae\xb2\xe5\xb8\x88')])),
            ('add_time', models.DateTimeField(default=datetime.datetime.now, verbose_name=b'\xe6\xb7\xbb\xe5\x8a\xa0\xe6\x97\xb6\xe9\x97\xb4')),
            ('user', models.ForeignKey(verbose_name=b'\xe7\x94\xa8\xe6\x88\xb7', to=settings.AUTH_USER_MODEL)),
        ],
        options={
            'verbose_name': '\u7528\u6237\u6536\u85cf',
            'verbose_name_plural': '\u7528\u6237\u6536\u85cf',
        },
    ),
    migrations.CreateModel(
        name='UserMessage',
        fields=[
            ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
            ('user', models.IntegerField(default=0, verbose_name=b'\xe6\x8e\xa5\xe5\x8f\x97\xe7\x94\xa8\xe6\x88\xb7')),
            ('message', models.CharField(max_length=500, verbose_name=b'\xe6\xb6\x88\xe6\x81\xaf\xe5\x86\x85\xe5\xae\xb9')),
            ('has_read', models.BooleanField(default=False, verbose_name=b'\xe6\x98\xaf\xe5\x90\xa6\xe5\xb7\xb2\xe8\xaf\xbb')),
            ('add_time', models.DateTimeField(default=datetime.datetime.now, verbose_name=b'\xe6\xb7\xbb\xe5\x8a\xa0\xe6\x97\xb6\xe9\x97\xb4')),
        ],
        options={
            'verbose_name': '\u7528\u6237\u6d88\u606f',
            'verbose_name_plural': '\u7528\u6237\u6d88\u606f',
        },
    ),
]`

migration是操作資料庫的檔案,會通過這個去建立一系列的表。會建立model,