标签: data-migration

为什么 GenericRelation 字段在数据迁移 (Django) 中不起作用

我想进行数据迁移以便在数据库中添加用户阅读帖子。有这样的代码:

def user_read_posts(apps, schema_editor):
    User = apps.get_model("main", "User")
    Post = apps.get_model("main", "Post")
    Comment = apps.get_model("comments", "Comment")

    comments = Comment.objects.all()
    for comment in comments:
        print (comment.content_object.__class__.__name__)
        if isinstance(comment.content_object, Post):
            comment.user.read_posts.add(comment.content_object)

class Migration(migrations.Migration):

    dependencies = [
        ('main', '0039_auto_20160314_0906'),
    ]

    operations = [
        migrations.RunPython(user_read_posts),
    ]
Run Code Online (Sandbox Code Playgroud)

并在 print (comment.content_object.__class__.__name__)django 行中引发错误: AttributeError: 'Comment' object has no attribute 'content_object'

评论型号:

class GuidaComment(GenericRelationModel):

    user = models.ForeignKey(GuidaUser)
    text = models.TextField()
Run Code Online (Sandbox Code Playgroud)

所以我该怎么做?

谢谢。

python django data-migration django-migrations

5
推荐指数
1
解决办法
2356
查看次数

将所选项目从 AWS dyanmoDB 表复制到另一个表

我想将数据从一个 Amazon dynamodb 表复制到另一个 Amazon dynamodb 表(同一区域)。

1]我有一个名为 MUSIC 的表,其中有 20 个项目 2]我有另一个表 MUSIC_ST (与表 MUSIC 具有相同的架构)。现在我想有选择地将 10 个项目从 MUSIC dynamodb 表迁移到 MUSIC_ST dynamodb 表。

我通过AWS数据管道,这里首先需要将整个表导出到S3,然后我们需要通过这个数据管道将该S3中的文件导入到dynamodb表中。这不是我的项目要求。我们需要将选定的数据从一个 DynamoDB 表迁移到另一个 DynamoDb 表。

请您的解决方案对我有帮助。我很感激。谢谢

data-migration amazon-dynamodb amazon-data-pipeline

5
推荐指数
1
解决办法
2965
查看次数

Mysql数据迁移-wbcopytables字符集

我正在尝试将一些数据从 MSSQL 移动到 MySQL。当我wbcopytables.exe在 mysql 连接上运行字符集似乎是错误的时,当数据包含表情符号图标时我收到错误(http://apps.timwhitlock.info/unicode/inspect?s=%F0%9F%8C %A8%E2%98%83%EF%B8%8F):

Incorrect string value: '\xF0\x9F\x8C\xA8\xE2\x98...' for column 'Value' at row 4
Run Code Online (Sandbox Code Playgroud)

我的服务器、数据库、表和列都有charset=utf8mb4collation=utf8mb4_unicode_ci。不过,我可以使用我在旁边创建的 .NET 应用程序将这些表情符号图标插入到该表中,因此这不是架构/服务器设置的问题。这让我认为wbcopytables.exe在连接上强制执行一些其他编码(可能是 utf8)。我尝试更改所有 mysql 变量以强制执行 utf8mb4,如 my.ini 中的其他 SO 问题中所建议的那样:

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET collation_connection = utf8mb4_unicode_ci'
skip-character-set-client-handshake
Run Code Online (Sandbox Code Playgroud)

编辑:以下是有关 wbcopytables.exe 本身的更多信息: https: //dev.mysql.com/doc/workbench/en/wbcopytables.html

mysql data-migration character-encoding

5
推荐指数
1
解决办法
1625
查看次数

aws DMS 仅复制更改错误

我有 prod aws Aurora DB,我想复制更改以测试 mysql DB(架构相同 - Aurora 基于 mysql),我为此使用 aws DMS。

当对某些表执行完整复制时,复制工作正常,当我想执行仅复制更改时,复制失败。我在参数组中设置了 binlog_checksum=NONE 和 binlog_format=ROW 。

我在运行时收到的错误是: 最后一个错误 任务异常停止 停止原因 RECOVERABLE_ERROR 错误级别 RECOVERABLE 最后一个错误 任务“任务 ID”由于连续 6 次意外失败而被挂起 停止原因 FATAL_ERROR 错误级别 FATAL

将快照加载到测试数据库不是一个选项。我只想复制特定表之间的更改。

提前致谢。

mysql replication data-migration dms amazon-aurora

5
推荐指数
1
解决办法
9342
查看次数

如何将数据从一个 AWS 账户的 RDS 移动到另一个账户

我们不久前在 AWS 上设置了 Web 服务和数据库,应用程序现已投入生产。由于某种原因,我们需要终止旧的 AWS 并将所有内容转移到新创建的 AWS 帐户下。应用程序和所有基础设施都非常简单。但对于数据来说,这比较棘手。当前的数据库每天仍在接收大量数据。因此,最好在关闭旧应用程序并切换到新平台后迁移数据。

源 RDS 和目标 RDS 都是 Postgres。我们有大约 40GB 的数据要传输。我能想到三种方法,它们都有缺点。

  1. 拍摄第一个 RDS 的快照并在第二个 RDS 中恢复它。问题是我不需要将所有数据从源传输到目的地。可能只需要 10 月 1 日之后的记录就足够了。此外,快照最适合在刚刚创建的空 rds 中恢复。对于我们的例子,新的 RDS 将在截止后开始接收数据。只有在那之后,数据才会从旧帐户转移到新帐户,否则我们将丢失数据。
  2. 从旧 RDS 中的表中转储数据并在新 RDS 中备份。这将有与#1 相同的问题。另外,如果我将数据转储到本地机器,然后从本地备份,网络速度是瓶颈。
  3. 将表数据导出到 csv 文件并导入到新的 RDS。优点是这种方法允许挑选和一些数据清理。但将大型事实表导出到本地 csv 文件需要很长时间。另一个问题是,对于某些表,我有代理行 ID serial(自动增量)。导出的 csv 的行 ID 可能与新 RDS 表中的现有数据冲突。

我想知道是否有更好的方法来做到这一点。也许AWS有一些ETL工具可以点对点直接传输,而不需要使用本地计算机作为中间点。

postgresql etl data-migration amazon-web-services amazon-rds

5
推荐指数
1
解决办法
9505
查看次数

无效操作:json对象的总大小超过最大限制4194304字节详细信息

我正在尝试迁移 redshift 数据库中的大查询事件数据。我正在使用以下命令。

COPY events_20180627 from 's3://big-query-to-rs/big-query-data/events_20180627' CREDENTIALS 'aws_access_key_id=XXXXXXXXX;aws_secret_access_key=XXXXXXXXXXX' format as json 'auto' ;
Run Code Online (Sandbox Code Playgroud)

对于大小超过 4 MB 的行,它给出以下错误。

Amazon 无效操作:json 对象的总大小超过 4194304 字节的最大限制详细信息: ------------------------------ ----------------- 错误:json 对象的总大小超出了 4194304 字节的最大限制 代码:8001 上下文:

我浏览了各种博客并回答但没有运气。

有人能告诉我解决方法吗?谢谢!

data-migration amazon-s3 google-bigquery amazon-redshift

5
推荐指数
1
解决办法
3017
查看次数

AWS DMS 任务失败

使用 DMS 时遇到一些问题 - 任务选择规则配置错误(我猜)

在创建的源端点和目标端点之间测试 2 个小型 rds postgres 实例,创建复制实例
(测试连接成功)

The task i run keeps failing : 
" Last Error No tables were found at task initialization. 
Either the selected table(s) or schemas(s) no longer exist or no match was found for the table selection pattern(s)."
Run Code Online (Sandbox Code Playgroud)

模式:pg_catalog、information_schema、public

我只想复制一个名为 test_db 的数据库

我应该在选择规则中使用什么?

在此输入图像描述

postgresql data-migration amazon-web-services amazon-rds aws-dms

5
推荐指数
1
解决办法
5634
查看次数

MySQL 到 MongoDB 数据迁移

我们知道MongoDB有两种对关系/实体之间的关系进行建模的方式,即嵌入引用参见这里的区别)。假设我们有一个USER数据库,其中 mySQL 中有两个表,分别名为useraddress。嵌入式 MongoDB 文档可能如下所示:

{
  "_id": 1,
  "name": "Ashley Peacock",
  "addresses": [
    {
      "address_line_1": "10 Downing Street",
      "address_line_2": "Westminster",
      "city": "London",
      "postal_code": "SW1A 2AA"
    },
    {
      "address_line_1": "221B Baker Street",
      "address_line_2": "Marylebone",
      "city": "London",
      "postal_code": "NW1 6XE"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

而在引用关系中,2 个 SQL 表将在 MongoDB 中生成 2 个集合,可以通过此方法使用pymongo.

如何使用python直接将MySQL数据迁移为嵌入文档?

关于伪代码和算法性能的见解将非常有用。我想到的是views通过在 MySQL 中执行来进行创建joins。但在这种情况下,我们将不会在父文档中拥有子文档的结构。

python mysql data-migration mongodb pymongo

5
推荐指数
1
解决办法
939
查看次数

Rails 3:迁移数据

我的Rails 3应用程序具有用户模型和配置文件模型.用户has_one个人资料.

目前,配置文件具有属性first_namelast_name.虽然我不确定您为什么要更改它们,但我最初想象这些应该是可更改的,因此我将它们放在Profile模型中而不是User模型中.

但是,随着应用程序的发展,我发现实际上我需要用户的名字和姓氏不要更改,而且我真的需要它们成为User模型的一部分而不是配置文件模型.

所以,我想知道,你能编写一个迁移:

  1. first_namelast_name列添加到用户模型.
  2. 从关联的配置文件记录中获取给定用户的现有值first_namelast_name值,并将其复制到用户模型中.
  3. 从Profile模型中删除first_namelast_name列,因为它们不再需要了.

那么,这可以吗?你能展示一个例子吗?而且,最重要的是,我应该注意哪些问题?我想将此更改应用于生产应用程序,因此在进行此更改时,不要丢失数据至关重要.

谢谢!

migration data-migration ruby-on-rails ruby-on-rails-3

4
推荐指数
1
解决办法
2304
查看次数

关闭项目后,EF Data Migrations不起作用

我正在使用实体框架数据迁移.如果我改变了关于entites或其他东西的东西,我尝试在Package Manager Console上使用" add-migration MyFirstMigration ".但它返回一个例外:

The term 'add-migration' is not recognized as the name of a cmdlet, function, script  file, or operable program. Check the spelling of the name, or if a path was inclu
ded, verify that the path is correct and try again.
At line:1 char:14
+ add-migration <<<< 
+ CategoryInfo          : ObjectNotFound: (add-migration:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Run Code Online (Sandbox Code Playgroud)

如果我从Nuget卸载EntityFramework.Migrations并重新安装它使用相同的代码(" add-migration MyFirstMigration "," update-database ")直到关闭项目.

我该怎么办呢?有没有其他人经历过这个?

编辑:顺便说一句,它在另一台PC上工作正常...

data-migration entity-framework-4.1 ef-migrations

4
推荐指数
1
解决办法
3804
查看次数