问题标签 [schema-migration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
305 浏览

python - Django ORM 迁移在 IntegerField 上给出“ValueError:int() 的无效文字”

一步一步,这就是我如何到达现在的位置......

python manage.py migrate在将我的数据库中的表更改Order为包含后,我尝试运行该命令flowertype = IntegerField(),并被告知我无法继续迁移,直到我a)将默认值设置为IntegerField(),或b)让 django 为我设置它。我选择了a并将默认值设置为'something'只是为了消除我的错误。

意识到我不应该将字符串放入 中IntegerField(),我尝试了以下方法来解决此问题。

1)试图重置models.IntegerField()models.IntegerField(default='1')

2) 尝试使用django-reset重置我的 sql 数据库,它给了我很多错误,例如 `ImportError: cannot import name sql_delete

3)注释掉我的Order模型,然后运行makemigrations​​&migrate无济于事。

0 投票
0 回答
34 浏览

ruby - Rails 4 - 删除以前使用的 Active Record 数据库的所有痕迹

这是日志。

我想知道在哪里调用 SELECT schema_migrations.* FROMschema_migrations查询,以便我可以删除它,希望这个错误会消失。以前我使用 Active Record 测试过数据库连接,由于内存负载如此之高,我决定使用 sequel gem。我想删除以前使用的 Active Record 数据库的所有痕迹,我尝试从 db 文件夹中删除迁移文件和架构,但错误仍然存​​在。

0 投票
1 回答
581 浏览

python - Django 使用 db_table 将表移动到其他应用程序并且不删除原始表

我已经将我的桌子app_aapp_b使用db_table. 我最初添加了元信息,

如果我在此表中进行任何更改app_b,则迁移不会在迁移文件夹下生成新的迁移文件。它说。

我从这个答案中尝试过,并发表了评论app_label = 'app_a'。现在迁移后,它会检测到更改并创建迁移文件。

然后我执行python manage.py migrate命令,它不断要求删除原始表app_a_table

如何禁止此通知?我如何告诉 django 迁移该表存在于不同的应用程序中?

0 投票
0 回答
315 浏览

python - mongoengine:更改文档子类

我想将旧的 mongoengine 模式迁移到新的模式。

目前,架构如下所示:

目标架构是:

其中 B 和 C 的所有实例将分别成为 X 和 Y 的实例。

Main 或 Document 的其他子类对 A、B 和 C 类有多个引用(分别是对 A、X 和 Y 的引用)。

对于我的项目,我有一个独立于其余代码运行的迁移模块,并且不应导入实际模型本身。我自己对 MongoDB 的了解不多。我看到了三种可能的解决方案:

A)为迁移编写一个混合新旧混合的模式,然后复制每个对象,更新所有引用,然后删除旧对象(由于引用而非常复杂)

B) 使用 MongoEngine 更改子类。我怎样才能做到这一点?

C) 直接使用 MongoDB 更改子类。如何通过 mongoengine 直接访问 MongoDB,以及相应的 MongoDB 查询是什么样的?

0 投票
3 回答
2329 浏览

java - 适用于 Oracle 数据库的 SSDT 等效项

在 SSDT 中有一种管理 DDL 更改的机制,例如新列或数据类型的更改。我们没有将“Alter Table”语句放入数据库项目,而是编辑原始的“Create Table”语句,该语句侧重于包含新列的最终状态。它检测旧脚本和新脚本之间的差异,并创建必要的“更改表”脚本以用于部署。

是否有任何等效的策略可以在 Oracle 数据库中实现与我使用 J2EE 技术和 Eclipse IDE 相同的策略。

0 投票
0 回答
179 浏览

python - Schemamigration 为应用程序中的现有列运行

假设我有一个名为 animals 的 Django 应用程序。该应用程序有一个名为“哺乳动物”的模型,如下所示

我为上述模型运行模式迁移

创建了一个初始迁移文件,然后我按如下方式迁移它

现在我更新模型并添加一个字段哺乳动物类型如下

我再次为上述模型运行模式迁移

一切顺利。现在问题来了。我添加了另一个已灭绝的领域,如下所示

我运行模式迁移

新的迁移文件包含实际上不应该存在的先前添加的哺乳动物类型字段的模式迁移。我不确定为什么会这样。

我已经尝试运行特定于字段的架构迁移,它允许我只为该字段添加迁移,但是在动态创建 M2M 表时,特定于字段的架构迁移没有帮助。我需要为整个应用程序运行架构迁移以创建 M2M 表。

请指教

0 投票
2 回答
7674 浏览

postgresql - PostgreSQL 模式迁移?

我有带有表、约束、关系等的本地 PostgreSQL 数据库。

如何将其迁移到生产服务器?

0 投票
0 回答
141 浏览

sql-server - SSDT 看不到表架构已更改

当我为表编辑的架构未应用于服务器时,我突然感到有问题。在编写种子脚本时发现它崩溃了:我已将大多数字段更改为 null,因此脚本仅插入 NOT NULL 值。但在运行时,它会因“列中的预期值,似乎它不是 NULL”而崩溃。

再次,

  • 我已将列的表修改为 NULL
  • 针对它写了种子脚本
  • 要求“发布”
  • 脚本失败,因为表模式在大多数列中仍然需要 NOT NULL

我做了:

  • 删除 bin/obj,
  • 删除了 .refactorlog 和 .dbml,因此最终构建损坏,因为它需要 .refactorlog。

然后我DROP编辑​​表。仍然没有检测到变化!由于表不存在,我手动运行CREATE并且似乎以后(随后,之后)检测到更改。


所以问题是- 我做错了什么?我认为 SSDT 会针对目标模式分析静态代码。但似乎没有。我不想突然遇到这样的问题,我需要防弹架构迁移。


环境:

  • 对比 2017 年 15.6.6
  • Sql Server 快递 2014 (12.0.2000)

只找到了这个,但似乎不是我的情况(但是,生成的脚本集SET ANSI_NULLS ON)。

非常感谢对这个问题的解释!

0 投票
1 回答
97 浏览

go - 迁移具有多个主机 ip 的 cassandra 库实现

我正在尝试使用 golang-migrate 库进行 cassandra 迁移。

文档中,他们提到要像这样使用 cassandra url

cassandra://host:port/keyspace?param1=value¶m2=value2

我们将为 cassandra 提供不止一个主机。

我是否需要为每个主机循环并分别运行迁移?还是有其他方法?

0 投票
2 回答
5072 浏览

google-cloud-firestore - 是否有任何与 rails ActiveRecord 迁移相当的 Firestore 数据库模式迁移概念?

我们基于 Firestore DB 的模型自然而然地发展。现在我们想将所有现有文档更新为新的(隐式)模式。

是否有任何工具支持这一点或最佳实践是什么。我希望有一个可与 Rails ActiveRecord 迁移相媲美的概念。