我在mysql中有以下表格:
CREATE TABLE `portal_asset` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`asset_id` int(11) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=1000000 DEFAULT CHARSET=utf8;
我如何在django中创建相同的表?到目前为止,我有以下内容,但不确定如何设置AUTO_INCREMENT
值 -
class PortalAsset(models.Model):
id = models.IntegerField(primary_key=True)
asset_id = models.IntegerField(unique=True)
class Meta:
db_table = u'portal_asset'
如何设置AUTO_INCREMENT
值以1000000开始?相当于:
alter table portal_asset AUTO_INCREMENT=1000000;
答案 0 :(得分:2)
您可以在迁移中使用RunSQL
操作来执行必要的SQL:
migrations.RunSQL("ALTER TABLE portal_asset AUTO_INCREMENT=1000000;")
如果您还没有运行任何迁移,可以将其添加到第一次迁移中,以确保在设置新值之前不插入任何行。否则,您必须在新迁移中添加此操作。您可以使用python manage.py makemigrations --empty <yourappname>
创建新的空迁移。