问题标签 [database-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 投票
4 回答
25715 浏览

mysql - 如何将 Oracle 数据库转换为 MySQL?

是否有推荐的工具将包括(存储过程)在内的 Oracle 数据库转换为 MySQL?

0 投票
1 回答
3555 浏览

oracle - 从 SQLSERVER 数据库生成 Oracle SQL 脚本

我有一个 Microsoft SQL Server 数据库(表、关系和数据)。
但现在我想在 Oracle 中获得该数据库的完全相同的副本。
我在想可能有某种工具或转换器可以生成 Oracle sql 脚本,我可以运行这些脚本来创建和填充我的新 Oracle 数据库。
这种事情可能吗?
我怎样才能做到这一点?

0 投票
4 回答
11323 浏览

mysql - 可怕的 MySQL 导入编码问题 - 重新审视

我遇到了标准的 MySQL 导入编码问题,但我似乎无法解决它。

我的客户已经运行了一段时间的 WordPress 安装。我已将数据库转储到文件中,并在本地导入。生成的页面在整个过程中都有很多字符。

我检查了双方的数据库属性:生产:显示创建数据库wordpress;

本地:显示创建数据库 wordpress;

生产:显示创建表wp_posts;

本地:显示创建表 wp_posts;

我已经花了几个小时阅读有关如何压缩�的论坛,但我无法得到任何工作。99% 的答案说要匹配数据库之间的字符集。如果以下情况,我认为应该有效:

我也使用 utf8 字符集完成了它。还是用�的。

我尝试直接修改 SQL 转储,将utf8latin1放在“SET names UTF8”行中。还是用�的。

奇怪的症状

我希望这些 � 字符出现在内容中的特殊字符的位置,例如ñö,但我已经看到它通常只有一个空格。我还看到它代替撇号(但不是所有撇号)、双引号和商标符号。

� 标记非常罕见。它们平均每页出现三到四次。

通过 Sequel Pro(本地或实时)查看数据库时,我没有看到任何 �。通过 Textmate 查看时,我在 SQL 中看不到任何 �。

我错过了什么?

编辑

更多信息:

我试图确定实时数据库认为编码是什么。我跑了show table status,似乎排序规则是utf8_general_ci,utf8_bin latin1_swedish_ci`的混合体and。它们有什么不同?有关系吗?

我也跑了:show variables like "character_set_database"得到了latin1

0 投票
1 回答
350 浏览

java - 在 JDO 中迁移字段

我们在我们的一个项目中使用 JDO。这已经运行了很长一段时间,自然我们需要稍微改变模型。

在 JDO 中迁移实体类中的字段时,最佳实践是什么?

如果我删除一个枚举值,如果它在从数据库加载时已经持久化,则会出现异常,如何迁移它?

如果我想将 myString 重命名为 myNewString,如何将列重命名为新名称?

0 投票
2 回答
12575 浏览

sql - 使用 Liquibase,使用独特的并使用有一个独特的约束?

Liquibase 有两种方法可以将列定义为唯一的:

  1. 创建表时,<constraints>在列上使用:

    /li>
  2. 创建表后,使用<createIndex>

    /li>

对于单列唯一键,这两种方法之间有什么区别吗?

在我自己对 MySQL 的观察中,似乎没有区别。两个声明(上面)产生相同的SHOW CREATE TABLE结果:

但是,这是否适用于所有数据库实现,或者是否会为不同的数据库<createIndex unique="true">生成不同的模式输出<constraint unique="true"/>

背景:我有一个脚本,它直接从代码中的关系模型构建了 liquibase 更改日志。如果模型指示列是唯一的,则生成脚本会创建 BOTH 声明。我正在清理生成的结果,并想删除其中一个声明,并想知道这是否合适。

0 投票
12 回答
129672 浏览

database - 如何将 redis 数据库从一台服务器移动到另一台服务器?

我目前有一个在云实例上运行的实时 redis 服务器,我想将此 redis 服务器迁移到新的云实例并将该实例用作我的新 redis 服务器。如果是 MySQL,我会从旧服务器导出数据库并将其导入新服务器。我应该如何用redis做到这一点?

PS:我不打算设置复制。我想将 redis 服务器完全迁移到一个新实例。

0 投票
2 回答
1419 浏览

mysql - 从 Oracle 迁移到 MySql

我想从 oracle 迁移到 MySql。我正在使用 MySql 迁移工具 5.0。迁移向导出现问题。

建立连接时出错

错误信息是

两个 SQL 服务器都在 localhost 上运行。

我该如何解决这些错误?

0 投票
1 回答
209 浏览

ruby-on-rails - 故意创建重复迁移

我正在创建一个用户可以从中添加和删除实体的应用程序。应用程序生成模型、迁移和迁移数据库。实际上是这样的:

当用户删除模型时,我会清理文件并生成删除表的新迁移。

在这一点上,我将有一个类似的迁移列表:

20110515130423_create_customers.rb 20110515130445_create_houses.rb 20110515130457_drop_customers.rb

没问题 - 一切正常。迁移它们的完整集合会添加然后删除内容,但这没关系。

当有人尝试添加他们之前添加的模型时,我的问题就出现了。耙子中止说:

多个迁移的名称为 CreateCustomers

我应该怎么办?我将首先尝试的方法是尝试检测这样的循环,然后清除所有迁移。这会让迁移数据库处于奇怪的状态吗?

感谢您的帮助 - 我知道这有点奇怪;-)

0 投票
1 回答
78 浏览

sql - 用于 DVCS 的 SQL 迁移工具

大多数(如果不是全部)现有迁移工具认为迁移历史是线性的。因此,当您创建新迁移时,您将获得版本 42 或其他版本,然后每个人都可以在收到您的更改后更新到此版本。

问题是如果您使用 DVCS,两个人可能同时拥有版本 42。这意味着解决冲突将变得非常重要,以至于令人痛苦。:)

所以我的问题是 - 我应该推出自己的系统还是在野外有什么?最好简单,对 *nix 友好。我打算将它主要与 mysql 和 postgresql 一起使用。

0 投票
1 回答
236 浏览

grails - 迁移文件中所有额外的垃圾是什么?

我今天开始测试 grails 数据库迁移插件。我与域进行了初始同步,然后基于运行 diff 命令创建了一个新的更改日志。这应该就像重命名列和(重新)将索引分配给该列一样简单。所以我希望看到以下...

这一切都很好。但是,我也看到很多与我的更改无关的 dropIndex 和 createIndex 块。有谁知道为什么会这样?