迁移到现有数据库而不匹配迁移

     2023-02-24     47

关键词:

【中文标题】迁移到现有数据库而不匹配迁移【英文标题】:Migrating to existing database without matching migration 【发布时间】:2017-05-02 11:24:54 【问题描述】:

我正在使用 Django 1.9.8 开发网站,并尝试将其更新版本部署到服务器以进行演示。

由于我在开发此工具时一直在学习 Django,因此在遇到数据库问题时,我犯了几次删除迁移并创建新迁移的错误。当我能够删除现有数据库时,这在我的开发人员上运行良好,但在尝试将其部署在演示服务器上而不丢失现有数据库数据时会导致问题。

演示服务器上没有现有数据库架构的迁移,当我运行manage.py makemigration <myappname> 时,它会为应用程序创建初始迁移。当我尝试运行manage.py migrate <myappname> 时,它告诉我这些表已经存在(因为迁移正在尝试添加所有这些表,而不是对数据库进行需要进行的修改)。

有没有一种方法可以根据当前数据库创建初始迁移,然后我可以运行 makemigrations 来获取将修改当前数据库以与当前模型保持同步的迁移?

抱歉,如果这已经在某个地方得到了回答,我已经看过并且没有运气找到答案。

谢谢!

【问题讨论】:

查看 django 文档的这一部分:docs.djangoproject.com/en/1.10/howto/legacy-databases 这可能会对您有所帮助 您的代码肯定在版本控制中,但是?您不能只恢复删除迁移的更改吗? 【参考方案1】:

Django 认为迁移已经运行,因为 django_migrations 表中有迁移条目。那是 django 注册已经完成的迁移的地方。您需要进入 postres 并删除那些您不想要的迁移的行。这是假设您的 db 架构与您的 models.py 匹配。如果有差异,您需要手动编辑迁移文件以消除任何差异,或临时修改您的 models.py 以匹配。

psql [db name]
delete from django_migrations;

现在删除应用中的所有迁移文件夹并运行: ./manage.py 迁移 --fake-initial

如果您的 models.py 或迁移已被编辑以匹配当前数据库架构,并且您现在想要对差异运行迁移,请运行 ./manage.py makemigrations 然后迁移

也看这里:Django 1.8: Create initial migrations for existing schema

【讨论】:

记一次从oracle到hive的历史数据迁移

...据迁移出来并导入到hive中,存在几个问题:1、现有oracle数据库在使用无法整个库导出,数据库服务器没有权限;2、由于各个数据提供方的各次升级,oracle数据库采取添加字段而不删除字段的方式更新,而hive中建立的表数据结... 查看详情

iOS:将现有核心数据数据库迁移到 iCloud

】iOS:将现有核心数据数据库迁移到iCloud【英文标题】:iOS:MigratingexistingCoreData-databaseintoiCloud【发布时间】:2012-04-2607:49:21【问题描述】:我在现有应用程序中使用CoreData。现在我想集成iCloud,以便用户可以在他们的iOS设备之间... 查看详情

MongoDB 将所有现有索引迁移到新数据库

】MongoDB将所有现有索引迁移到新数据库【英文标题】:MongoDBMigrateallexistingindexestonewdatabase【发布时间】:2018-04-1002:53:35【问题描述】:我有一个MongoDB开发集群,作为开发改进的一部分,我会随着时间的推移创建索引。在测试/生... 查看详情

将 s-s-rS 报告迁移到 AZURE VM,而不迁移本地 SQL 数据库。可能吗?

】将s-s-rS报告迁移到AZUREVM,而不迁移本地SQL数据库。可能吗?【英文标题】:Migrates-s-rSreportstoAZUREVMandwithoutmigratingOnpremiseSQLDatabase.Isitpossible?【发布时间】:2021-12-2317:35:54【问题描述】:我在AzureVM上有一个SQLServer数据库。我想将... 查看详情

Laravel:在迁移期间重命名表字段而不删除数据

】Laravel:在迁移期间重命名表字段而不删除数据【英文标题】:Laravel:Renametablefieldwithoutdeletingdataduringmigration【发布时间】:2020-03-1404:45:36【问题描述】:我正在尝试将“名称”更改为“用户名”而不删除现有记录。我尝试了所... 查看详情

如何将现有 Azure 资产迁移到 Azure 应用服务

...可以将现有Azure资产(即云服务、通知中心、SQL服务器和数据库、存储帐户和服务总线)迁移到Azure应用服务?如果有,怎么做?【问题讨论】:参考这些azure.microsoft.com/en-in/blog 查看详情

实体框架 CodeFirst 现有数据库的初始迁移

】实体框架CodeFirst现有数据库的初始迁移【英文标题】:EntityFrameworkCodeFirstInitialMigrationofExistingDatabase【发布时间】:2015-04-2109:52:25【问题描述】:我有一个包含数据的现有数据库。我想将代码优先的非自动数据迁移添加到项目... 查看详情

如何将现有 CharField 与数据迁移到 Django 中的 IntegerField

】如何将现有CharField与数据迁移到Django中的IntegerField【英文标题】:HowdoImigrateexistingCharFieldwithdatatoIntegerFieldinDjango【发布时间】:2016-09-0512:09:58【问题描述】:我的models.py中有一些带有CharFields的模型。例如classMyModel(models.Model):it... 查看详情

如何将现有列数据迁移到 Cassandra 数据库中的新列?

】如何将现有列数据迁移到Cassandra数据库中的新列?【英文标题】:HowtomigrateexistingcolumnsdatatonewcolumninCassandradatabase?【发布时间】:2020-07-0202:07:48【问题描述】:我需要将用户的测验完成状态保存到Cassandra的表中,以前的表被设... 查看详情

将 EF Core 迁移添加到现有数据库,同时仍允许从头开始创建数据库

】将EFCore迁移添加到现有数据库,同时仍允许从头开始创建数据库【英文标题】:AddingEFCoreMigrationstoanexistingdatabase,whilestillenablingcreationofthedatabasefromscratch【发布时间】:2021-12-2917:00:53【问题描述】:去年,我用.NetCore和EFCore重写... 查看详情

使用现有布尔列类型进行房间迁移

...发现了什么在编译期间处理所有@entity注释的类,并生成数据库类的实现。然后在访问数据库之前,调用这个生成的类的validateMigration方法。此validateMigration方法通过原始查询验证现有数据库架构PRA 查看详情

如何将现有核心数据 iOS 7 应用程序的数据迁移到 iCloud?

】如何将现有核心数据iOS7应用程序的数据迁移到iCloud?【英文标题】:HowdoyoumigrateanexistingcoredataiOS7app\'sdataintoiCloud?【发布时间】:2014-02-2819:42:05【问题描述】:我有一个已经使用CoreData的iOS7应用。我已经使用新的iOS7方法将iCloud... 查看详情

从 VMWARE 迁移到 VirtualBox [关闭]

】从VMWARE迁移到VirtualBox[关闭]【英文标题】:MigratingfromVMWAREtoVirtualBox[closed]【发布时间】:2011-10-2002:59:53【问题描述】:我正在尝试将现有VM从VMWARE迁移到VirtualBox。我已经为虚拟机制作了虚拟机文件夹的副本(这样我就可以试验... 查看详情

将现有 auth.User 数据迁移到新的 Django 1.5 自定义用户模型?

】将现有auth.User数据迁移到新的Django1.5自定义用户模型?【英文标题】:Migratingexistingauth.UserdatatonewDjango1.5customusermodel?【发布时间】:2013-01-3123:30:42【问题描述】:我不想销毁我网站上的所有用户。但我想利用Django1.5的自定义可... 查看详情

如何使用 SSMA(用于访问 SQL Server)将具有不同列的表迁移到现有表中?

...问题描述】:我目前正在使用MicrosoftSSMA将表从旧的Access数据库迁移到现有的SQLServer。这两个 查看详情

kafka数据迁移(代码片段)

...均依赖Kafka来做数据分流。而在分布式应用场景中,数据迁移是一个比较常见的问题。关于Kafka集群数据如何迁移,今天笔者将为大家详细介绍。2.内容本篇博客为大家介绍两种迁移场景,分别是同集群数据迁移、跨集群数据迁移... 查看详情

如果我要更改的只是 SQL Db 的内容,如何执行核心数据迁移到现有应用程序?

】如果我要更改的只是SQLDb的内容,如何执行核心数据迁移到现有应用程序?【英文标题】:HowdoIperformCoreDataMigrationtoanexistingapp,ifallI\'mchangingistheSQLDb\'scontent?【发布时间】:2013-06-2109:23:49【问题描述】:我查看了很多网站和答案... 查看详情

回滚特定迁移而不回滚其他迁移

...】:2014-06-2111:45:52【问题描述】:我错误地将倒数第二个数据库迁移错误地运行,但最后一次迁移很好。现在我想回滚倒数第二次迁移,而不恢复上次迁移。请与我和其他人分享您的知识。【问题讨论】:***.com/questions/3647685/…... 查看详情