gpt4 book ai didi

python - Django 1.8.5 迁移根本不迁移到 Postgres 数据库

转载 作者:行者123 更新时间:2023-11-29 13:26:05 24 4
gpt4 key购买 nike

我有一个奇怪的问题。我正在创建一个简单的表。初始迁移 0001 如下所示:

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
]

operations = [
migrations.CreateModel(
name='Customer',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('company_name', models.CharField(default=b'', unique=True, max_length=100)),
('address1', models.CharField(default=b'', max_length=200)),
('address2', models.CharField(default=b'', max_length=200, blank=True)),
('city', models.CharField(default=b'', max_length=200)),
('state', models.CharField(default=b'', max_length=100)),
('pincode', models.IntegerField(default=b'')),
('landline', models.CharField(default=b'', max_length=15, blank=True)),
('email', models.EmailField(default=b'', max_length=254, blank=True)),
('website', models.CharField(default=b'', max_length=100, blank=True)),
('contact1_first_name', models.CharField(default=b'', max_length=100)),
('contact1_last_name', models.CharField(default=b'', max_length=100)),
('contact1_mobile', models.CharField(default=b'', max_length=15, blank=True)),
('contact1_email', models.EmailField(default=b'', max_length=254, blank=True)),
('contact2_first_name', models.CharField(default=b'', max_length=100, blank=True)),
('contact2_last_name', models.CharField(default=b'', max_length=100, blank=True)),
('contact2_mobile', models.CharField(default=b'', max_length=15, blank=True)),
('contact2_email', models.EmailField(default=b'', max_length=254, blank=True)),
],
),
]

我做了 makemigrations,我做了迁移,我做了 syncdb。我没有收到任何错误,并且绝对没有在 postgres sql 中创建任何表。我必须通过执行 sqlmigrate 并将代码发布到 PGADMIN3 来手动制作表格。这就成功了,并创建了表格。

然而,使用 Django 的全部意义在于,对模型的更改应该迁移到数据库中,我不应该手动单独更改模型和数据库。

我在网上搜索了一下,没有看到其他人有类似的问题。这是一个非常基本的问题,没有错误,也没有对数据库进行任何更改。可能是什么问题?

最佳答案

当模型不适用而您想从头开始时,对我有用的是

  1. 对您的模型进行更改以使其恰到好处。
  2. 通过删除应用中的迁移文件夹来删除所有迁移
  3. 在数据库中查找迁移表(我使用 pgadmin3 作为 postgres sql 的前端)并删除提及您的应用程序名称的行
  4. 运行 makemigrations appname、migrate 和 syncdb

并且您有一个与您的模型完全对应的新数据库,减去所有迁移产生的垃圾以及您在此过程中所做的所有小更改,您可能不需要跟踪。

关于python - Django 1.8.5 迁移根本不迁移到 Postgres 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33608131/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com