django數(shù)據(jù)庫遷移

[toc]

一、配置數(shù)據(jù)庫

1、安裝pymysql

pip install pymysql

2、在與項(xiàng)目同名的 init.py 文件中,初始化MySQL驅(qū)動(dòng)

# 初始化mysql驅(qū)動(dòng)
import pymysql
pymysql.version_info=(1,3,13,"final",0)
pymysql.install_as_MySQLdb()

二、遷移命令

2.1、生成遷移文件

# 指定應(yīng)用app生成遷移文件夾
python manage.py makemigrations db

在沒有遷移文件的時(shí)候執(zhí)行python manage.py makemigrations沒有作用

2.2、創(chuàng)建model模型

# 模型基類
class BaseModel(models.Model):
    '''模型基類'''
    create_time = models.DateTimeField(auto_now_add=True, help_text='創(chuàng)建時(shí)間')
    update_time = models.DateTimeField(auto_now=True, help_text='更新時(shí)間')
    is_delete = models.IntegerField(null=False, auto_created=True, default=0)

    class Meta:
        # 指定這個(gè)類為抽象模型類
        abstract = True


# admin 用戶表
class GxUser(BaseModel):
    """GxUser 用戶表"""
    uuid = models.UUIDField(primary_key=True, auto_created=True, default=uuid.uuid4, editable=False,
                            help_text="uuid")
    name = models.CharField(null=True, max_length=11, help_text="姓名")
    age = models.CharField(null=True, max_length=11, help_text="年齡")

    class Meta:
        db_table = "GxUser"

2.3、生成數(shù)據(jù)庫表

python manage.py migrate

三、注意

  • 創(chuàng)建數(shù)據(jù)庫表失敗的時(shí)候,需要進(jìn)入數(shù)據(jù)庫刪除django_migrations表中最近遷移的數(shù)據(jù),并刪除相應(yīng)的遷移文件

四、遷移命令

python manage.py makemigrations
python manage.py migrate
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容