Django 1.8:为现有模式创建初始迁移

2023-11-22

我启动了一个 django 1.8 项目,它使用迁移系统。
不知何故,事情变得一团糟,所以我从数据库中删除了迁移文件夹和表,现在我试图重建它们,但没有成功。

我有三个应用程序(3models.py文件),并且模型完全反映了表格!

到目前为止我发现的最好的方法是:

  1. 删除所有migrations文件夹。完毕!
  2. 删除所有内容django_migrations桌子。完毕!
  3. Run python manage.py makemigrations --empty <app>对于每个应用程序。完毕!
  4. Run python manage.py migrate --fake。完毕! (尽管只有当我在每次之后运行它时它才有效makemigrations命令。

现在我添加一个新字段,运行makemigrations命令,我收到以下错误:
django.db.utils.OperationalError: (1054, "Unknown column 'accounts_plan.max_item_size' in 'field list'")

我已经在这件事上花了几个小时了。我到底如何初始化迁移,以便我可以继续工作而不会每次都中断迁移?

为什么这么复杂?为什么没有一个简单的一句话:initiate_migrations_from_schema?

EDIT:
现在事情变得更糟糕了。我截断了django_migrations表并删除了所有migrations folder.
现在我尝试跑步python manage.py migrate --fake-initial(我在 DEV 文档中找到的东西),它设置了 Django 的所有“内部”应用程序(身份验证、会话等),我得到:
(1054, "Unknown column 'name' in 'django_content_type'").
现在,这个“专栏”并不是真正的专栏。它是@propertyDjango 中定义的contenttypes应用程序。这里发生了什么?为什么它识别name属性作为真正的列?


终于让它工作了,虽然我不知道为什么,但我希望它将来能工作。
经过多次试验并浏览 Django 的开发网站后(link).
以下是步骤(适用于遇到此问题的人):

  1. 清空django_migrations table: delete from django_migrations;
  2. 对于每个应用程序,删除其migrations文件夹:rm -rf <app>/migrations/
  3. 重置“内置”应用程序的迁移:python manage.py migrate --fake
  4. 对于每个应用程序运行:python manage.py makemigrations <app>。处理依赖关系(具有外键的模型应在其父模型之后运行)。
  5. 最后:python manage.py migrate --fake-initial

之后我运行了最后一个命令,没有--fake-initial标志,只是为了确定。

现在一切正常,我可以正常使用迁移系统。

我确信我不是唯一遇到这个问题的人。必须更好地记录它,甚至简化它。

Django 1.9 用户更新:
我在 Django 1.9.4 中再次遇到了这种情况,第 5 步失败了。
我所要做的就是更换--fake-initial with --fake使其发挥作用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 1.8:为现有模式创建初始迁移 的相关文章

随机推荐

  • custom_require.rb:36:in `require': 没有要加载的文件 -- myapp(LoadError)

    我收到上述错误 我所做的就是安装 rvm 并从 Mac 获得的默认 ruby 更新到 ruby 1 9 2 我的所有宝石都出现在宝石列表中 但我需要在某处指定路径吗 cheers glenno 检查您是否安装了 gemgem list如果没
  • 防止Bootstrap崩溃崩溃

    我有一个 Bootstrap 折叠 标题内有一个按钮 按钮上有clickEvent 我想防止单击按钮时发生崩溃事件 有人有提示吗 这在这里没有帮助 buttonId live click function e e preventDefaul
  • NumPy 中是否提供十进制“dtypes”?

    是十进制数据类型对象 dtypes 在 NumPy 中可用吗 gt gt gt import decimal numpy gt gt gt d decimal Decimal 1 1 gt gt gt s 123 123 23 2323 2
  • 如何在 Flutter 中使用 SQFlite 进行数据库插入

    如何使用 SQFlite 插件将数据插入 Flutter 数据库 有很多解决问题的问题 但我找不到一个可以添加规范答案的问题 我的回答如下 添加依赖项 Open pubspec yaml并在依赖项部分添加以下行 sqflite 1 0 0
  • 检测html5移动设备中的晃动

    我目前正在 html5 中构建一个 Web 应用程序 它需要能够检测用户何时摇动手机以及摇动手机的速度 我一直在浏览 但似乎找不到任何如何实现这一点的示例 我知道html5有一个加速度计可以检测手机的方向 但是它如何检测用户摇动手机的速度呢
  • CSS:如果背景图像大于窗口,则缩小背景图像,否则保持 100%

    我想在我的网站正文中部署一个背景图像 该图像会随着窗口分辨率的变化而缩小 但不会放大到超出其原始尺寸 1920x1080 这样 分辨率较小的用户仍然可以看到整个图像 但分辨率更高的用户就不会看到丑陋的放大背景 它看起来不像背景图像支持像 m
  • 使用 mongoose api 和 nodejs 搜索数据库?

    我正在使用nodejs和mongoose构建一个api 我正在尝试执行搜索功能 但它似乎无法查询任何内容 即代码 app get search function req res return Questions find text nood
  • 限制列表(Of T)的大小 - VB.NET

    我试图限制通用列表的大小 以便在它包含一定数量的值后 它不会再添加任何值 我尝试使用 List 对象的 Capacity 属性来执行此操作 但这似乎不起作用 Dim slotDates As New List Of Date slotDat
  • 字符串小数点后 3 位

    实施例1 Dim myStr As String 38 我希望我的结果是38 000 实施例2 myStr 6 4 我希望我的结果是6 400 实现这一目标的最佳方法是什么 我想格式化一个string变量至少有小数点后三位 places U
  • 使用 PostgreSQL 根据选择查询中的字段删除重复行?

    考虑到表mdl files包含以下字段 id contenthash timecreated filesize 该表存储附件文件 我们认为具有相同内容哈希的所有行都是重复行 我只想保留最旧的行 或者如果日期相等则保留第一行 我怎样才能做到这
  • DebuggerStepThrough 被忽略

    我最近注意到 Visual Studio 2010 调试器不断跳转到这个标有 DebuggerStepThrough 属性 调用堆栈看起来像这样 Page OnLoad 调用一个方法是泛型的子类在标记为的类中 DebuggerStepThr
  • 如何使用 pdf.js 从 pdf 文档获取元数据

    有没有办法使用 pdf js 从 pdf 文档中获取元数据 例如作者或标题 在这个例子中 http mozilla github io pdf js web viewer html file compressed tracemonkey p
  • std::function 的仅移动版本

    Because std function是可复制的 该标准要求用于构造它的可调用对象也是可复制的 n337 20 8 11 2 1 template
  • 更改来自服务器的闪亮输入值

    我有一个操作按钮id do 我希望在单击操作按钮时更改名为 rhm clic 的值和输入 我现在有这个 observeEvent input do input rhm clic lt NULL 有一个使用 JS 的替代方案 我发现它在某些情
  • 如何按姓氏对姓名数组进行排序并保留键

    我有一个数组如下 Array 27 gt Sarah Green 29 gt Adam Brown 68 gt Fred Able 我想按姓氏对其进行排序并保留键 Array 68 gt Fred Able 29 gt Adam Brown
  • 如何将javascript文件添加到Xcode4

    我之前在 Xcode3 中使用过 javascript 文件 一切都很棒 您只需将 js 复制到从编译源构建阶段中删除 JavaScript 文件并将其添加到复制捆绑资源构建阶段 就像本中所建议的那样post 现在的问题是我如何在 Xcod
  • jQuery UI 可调整大小:单独使用东手柄时自动高度

    我有一个 jqueryui 可调整大小的 div 我只希望宽度可以调整大小 高度保持自动 以便 div 随内容而增大或缩小 如果我将其设置为仅显示东手柄并使用 cssheight auto 调整大小后 即使仅更改了宽度 高度也会被设置 每次
  • 使用 Xcode 4.5 本地化 Localizable.strings [重复]

    这个问题在这里已经有答案了 可能的重复 本地化 将其他语言添加到 localized strings 文件 使用 Xcode 4 5 SDK iOS 6 0 我无法将本地化添加到 Localizes strings 文件 在 Xcode 4
  • 启动进程:访问被拒绝(即使我已经提供了凭据

    尝试执行一行代码时出现以下错误 Start Process This command cannot be executed due to the error Access is denied 这是正在执行的代码 username domai
  • Django 1.8:为现有模式创建初始迁移

    我启动了一个 django 1 8 项目 它使用迁移系统 不知何故 事情变得一团糟 所以我从数据库中删除了迁移文件夹和表 现在我试图重建它们 但没有成功 我有三个应用程序 3models py文件 并且模型完全反映了表格 到目前为止我发现的