标签: data-migration

禁用 AWS DMS Migration 中的外键约束不适用于 Postgres

您好,我想将数据从一个 Postgres RDS 实例迁移到另一个实例。但是我的数据库包含具有外键约束的表。根据提供的官方迁移文档,AWS DMS 仅迁移所需的架构,不会迁移外键和其他二级索引。因此,我现在采用的方法是,首先手动迁移架构,然后在目标模式设置为不执行任何操作的情况下运行 DMS 作业。但是,我的加载因外键约束冲突错误而失败,因为 DMS 尝试并行迁移表,并且可能并行选择父子表进行加载。我尝试按照官方文档中的建议设置 session_replication_role=replica 以在会话级别暂时禁用约束,但这似乎也没有得到应用(注意:AWS DMS 文档中说该属性仅适用于 CDC 模式,因此尝试了也一样,但似乎没有得到应用,我面临着同样的外键约束违规问题)。谁能帮助如何实现这一目标?

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

6
推荐指数
1
解决办法
2424
查看次数

使用Hibernate进行数据迁移

我正在为一家公司开展一个项目,我需要将以前的数据迁移到一个新系统中.显然,这两种结构完全不同,我正在使用hibernate进行数据库操作,并且混淆了什么是迁移数据的最佳方法.我应该使用休眠,我应该编写存储过程,还是有其他选择?任何好主意都是受欢迎的.

database data-migration

5
推荐指数
2
解决办法
4536
查看次数

iOS开发中Core Data的常见数据迁移策略是什么?

如果数据模型发生变化,并且需要向后兼容以使用旧数据源,我们必须考虑数据库应用程序的数据迁移.

iOS开发中核心数据的常见策略是什么?有没有成熟的开源项目来处理这个问题?

data-migration core-data ios

5
推荐指数
0
解决办法
8900
查看次数

使用C#将表数据从oracle复制到SQL Server?

您能否告诉我是否存在将表数据从oracle复制到SQL Server的最便捷方法?

我唯一的想法是迭代所有行并执行插入操作。那意味着我应该写很多代码。

我想知道我可以使用DataSet/DataAdapter其他便捷的C#方法进行迁移吗?

PS。在C#/。NET2.0环境下。

的确感谢。

c# sql-server oracle data-migration

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

数据迁移和AppEngine

我在rails中做了很多开发,我正在研究使用python和app引擎开发项目.

从演示项目到目前为止我所看到的,我对app引擎项目有疑问/担忧:

如何在app-engine中处理数据迁移?例如,如果我更改实体/表的名称(例如:文本到文档),或更改现有表中的列(例如:age到dob) - 当发生这种情况时,它如何处理旧数据?

谢谢!

python google-app-engine data-migration ruby-on-rails-3

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

在Yii 1.x中无法在迁移中使用模型

使用迁移来插入或更改表结构对我来说没有问题.但是,我有一个问题是使用模型更改表中的数据.我的想法是做那样的事情:

public function up()
{
    $models = MyModel::model()->findAll();
    foreach ($models as $variable) {
        $variable->property = str_replace('.', ',', $variable->property);
        $variable->save();
    } 
}
Run Code Online (Sandbox Code Playgroud)

看来,我无法导入模型,因为我遇到了以下错误:

*** applying m111010_084827_convert_point_2_comma
PHP Error[2]: include(MyModel.php): failed to open stream: No such file or directory
Run Code Online (Sandbox Code Playgroud)

如果我之前尝试导入模型:

$modelClass = Yii::import('application.models.*');
Run Code Online (Sandbox Code Playgroud)

然后错误是:

*** applying m111010_084827_convert_point_2_comma
exception 'CDbException' with message 'The table "{{mymodel}}" for active record class "MyModel" cannot be found in the database.' in C:\...\yii\framework\db\ar\CActiveRecord.php:2276
Run Code Online (Sandbox Code Playgroud)

问题出在哪儿?我究竟做错了什么?我该如何以正确的方式导入迁移模型?或者我可能应该用SQL命令替换字符串?

php database migration data-migration yii

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

RoundhousE的RestoreRun模式的目的是什么?

根据文档,RoundhousE有3种模式:

  • 正常
  • DropCreate
  • RestoreRun

前两个是明确的,但我不了解RestoreRun模式及其在生产中提供的好处:

进入生产后,如果数据库足够小,则从DropCreate切换到RestoreRun模式.如果没有,您可以通过切换到要更改的新脚本名称继续维护模式的想法.您也可以仅备份结构(如果使用LiteSpeed之类的工具,还可以备份一些查找数据)并从中进行恢复.

我的印象是RestoreRun会在运行迁移脚本之前恢复数据库的备份.如果是这种情况,我可以看到它在我不断测试我的新脚本的开发中很有用,但是没有看到它用于生产的目的.

这是我的问题:

  1. 我误解了RestoreRun的目的吗?
  2. 什么是RestoreRun如何使生产部署受益的示例场景?
  3. 除了从RestoreRun和Normal模式之间的db恢复开始之外,还有其他差异吗?

任何对此的见解都将非常感激.

data-migration roundhouse

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

数据层应用程序框架(DAC Fx)中的复杂数据迁移

我很高兴能够使用DAC Fx和声明式数据库开发.对我来说,主要的障碍是如何处理跨架构的几个不同版本的复杂数据迁移.在旧世界中,我们可以按顺序运行所有升级脚本,这可以保证在数据迁移时架构处于正确状态.当升级路径是动态的时,这是如何工作的?

例如,假设现有实例上有多个版本的架构(DACPAC1-4):

  • DACPAC1:tableA存在且具有宝贵的客户端数据
  • DACPAC2:tableA已弃用,由tableB和规范化的tableC取代; 添加新表格
    • 部署后脚本:将数据从tableA移动到新的tableB和tableC; 下降表A.
  • DACPAC3:tableC有一个新的可空列columnX
    • 部署后脚本:基于tableD填充可空列
  • DACPAC4:tableC.columnX不可为空

如果我需要能够支持将DACPAC1-3服务器升级到最新的DACPAC4,我现在必须以足够聪明的方式编写我的部署前和部署脚本,以检测目前哪个DACPAC在目标上并正确处理数据迁移按顺序排列.此外,我不能简单地重复使用我最初编写的天真的部署后脚本,因为它们依赖于模式的中间版本.

提前感谢任何建议!

data-migration dac data-tier-applications

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

如何在Oracle中将TIMESTAMP列更新为TIMESTAMP WITH TIME ZONE

我有一对列不幸被错误地定义为TIMESTAMP(6)而不是TIMESTAMP(6) WITH TIME ZONE.我想将这些列从旧的错误数据类型迁移到新的,正确的数据类型.最重要的是,值似乎已在E(S | D)T中捕获,我需要UTC中的值.

到目前为止,我得到的最好的是:

alter table OOPSIE_TABLE add (
    NEW_COLUMN_A timestamp(6) with time zone,
    NEW_COLUMN_B timestamp(6) with time zone
);
update OOPSIE_TABLE set
    NEW_COLUMN_A = COLUMN_A,
    NEW_COLUMN_B = COLUMN_B
;
alter table OOPSIE_TABLE drop column (
    COLUMN_A,
    COLUMN_B
);
alter table OOPSIE_TABLE rename column NEW_COLUMN_A to COLUMN_A;
alter table OOPSIE_TABLE rename column NEW_COLUMN_B to COLUMN_B;
Run Code Online (Sandbox Code Playgroud)

不幸的是,这给我留下了15-JUN-12 05.46.29.600102000 PM -04:00我想要的数据15-JUN-12 09.46.29.600102000 PM UTC(或者Oracle会将其格式化).

我已经完成select dbtimezone from dual;并且它显示了我+00:00 …

oracle ddl timezone timestamp data-migration

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

如何从SqlDataReader uniqueidentifier获取Guid

SQL Server 2008(版本10.50.2550).

我有一个选择查询来返回uniqueidentifier类型的单个列.

我想把它变成Guid类型的C#变量.

以下所有方法都会导致异常.

reader的类型为SqlDataReader.

using (var reader = command.ExecuteReader())
{

    if (reader.Read())
    {       
        Guid guid = reader.GetGuid(reader.GetOrdinal("integ_schemehistoryId")); //1

        Guid guid = Guid.Parse((string)reader["integ_schemehistoryId"]); //2

        Guid guid = (Guid)reader["integ_schemehistoryId"]; //3

        Guid guid = new Guid((string)reader["integ_schemehistoryId"]); //4

        Guid guid = Guid.Parse(reader["integ_schemehistoryId"].ToString()); //5
    }

}
Run Code Online (Sandbox Code Playgroud)

错误1:

System.Data.SqlClient.SqlException (0x80131904): Conversion failed when converting from a character string to uniqueidentifier.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) …
Run Code Online (Sandbox Code Playgroud)

c# sql-server data-migration sql-server-2008

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