django中migration文件是干啥的

时间:2023-11-25 15:02:02

昨天很蠢的问leader git push的时候会不会把本地的数据库文件上传上去,意思是django中那些migration文件修改之后会不会上传。

然后得知不会,因为所有的数据库都存在本机的mysql啊,怎么可能传过去呢?然后同时还有.gitignore文件啊,过滤了很多文件。

同时我以为migration文件就是数据库文件,然而实际上是什么呢? 是操作数据库的文件,会通过这个去创建一系列的表。看看内容就知道了:

class Migration(SchemaMigration):

    def forwards(self, orm):
# Adding model 'DuobaoBaseGoodInfo'
db.create_table(u'duobao_duobaobasegoodinfo', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
('updated_at', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
('base_id', self.gf('django.db.models.fields.CharField')(default='2VN9gr9xKP8SvKPwZn33FD', max_length=255, db_index=True)),
('title', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
('image', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True, blank=True)),
('qiniu_image', self.gf('django.db.models.fields.CharField')(default='', max_length=255, null=True, blank=True)),
('total_count', self.gf('django.db.models.fields.IntegerField')(default=1)),
('good_intro', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
('activity_intro', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
('exchange_flow', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
('goon', self.gf('django.db.models.fields.BooleanField')(default=True)),
('status', self.gf('django.db.models.fields.BooleanField')(default=True, db_index=True)),
))

  再看看文件的文件名:

0002_auto_add_xxxx_add_xxxx.py

是不是就显而易见了呢?

唔,总结就是:一句话暴露了很多自己的无知