问题标签 [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.
mysql - 如何将 Oracle 数据库转换为 MySQL?
是否有推荐的工具将包括(存储过程)在内的 Oracle 数据库转换为 MySQL?
oracle - 从 SQLSERVER 数据库生成 Oracle SQL 脚本
我有一个 Microsoft SQL Server 数据库(表、关系和数据)。
但现在我想在 Oracle 中获得该数据库的完全相同的副本。
我在想可能有某种工具或转换器可以生成 Oracle sql 脚本,我可以运行这些脚本来创建和填充我的新 Oracle 数据库。
这种事情可能吗?
我怎样才能做到这一点?
mysql - 可怕的 MySQL 导入编码问题 - 重新审视
我遇到了标准的 MySQL 导入编码问题,但我似乎无法解决它。
我的客户已经运行了一段时间的 WordPress 安装。我已将数据库转储到文件中,并在本地导入。生成的页面在整个过程中都有很多字符。
我检查了双方的数据库属性:生产:显示创建数据库wordpress;
本地:显示创建数据库 wordpress;
生产:显示创建表wp_posts;
本地:显示创建表 wp_posts;
我已经花了几个小时阅读有关如何压缩�的论坛,但我无法得到任何工作。99% 的答案说要匹配数据库之间的字符集。如果以下情况,我认为应该有效:
我也使用 utf8 字符集完成了它。还是用�的。
我尝试直接修改 SQL 转储,将utf8或latin1放在“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
;
java - 在 JDO 中迁移字段
我们在我们的一个项目中使用 JDO。这已经运行了很长一段时间,自然我们需要稍微改变模型。
在 JDO 中迁移实体类中的字段时,最佳实践是什么?
如果我删除一个枚举值,如果它在从数据库加载时已经持久化,则会出现异常,如何迁移它?
如果我想将 myString 重命名为 myNewString,如何将列重命名为新名称?
sql - 使用 Liquibase,使用独特的并使用有一个独特的约束?
Liquibase 有两种方法可以将列定义为唯一的:
创建表时,
/li><constraints>
在列上使用:创建表后,使用
/li><createIndex>
:
对于单列唯一键,这两种方法之间有什么区别吗?
在我自己对 MySQL 的观察中,似乎没有区别。两个声明(上面)产生相同的SHOW CREATE TABLE
结果:
但是,这是否适用于所有数据库实现,或者是否会为不同的数据库<createIndex unique="true">
生成不同的模式输出<constraint unique="true"/>
?
背景:我有一个脚本,它直接从代码中的关系模型构建了 liquibase 更改日志。如果模型指示列是唯一的,则生成脚本会创建 BOTH 声明。我正在清理生成的结果,并想删除其中一个声明,并想知道这是否合适。
database - 如何将 redis 数据库从一台服务器移动到另一台服务器?
我目前有一个在云实例上运行的实时 redis 服务器,我想将此 redis 服务器迁移到新的云实例并将该实例用作我的新 redis 服务器。如果是 MySQL,我会从旧服务器导出数据库并将其导入新服务器。我应该如何用redis做到这一点?
PS:我不打算设置复制。我想将 redis 服务器完全迁移到一个新实例。
mysql - 从 Oracle 迁移到 MySql
我想从 oracle 迁移到 MySql。我正在使用 MySql 迁移工具 5.0。迁移向导出现问题。
错误信息是
两个 SQL 服务器都在 localhost 上运行。
我该如何解决这些错误?
ruby-on-rails - 故意创建重复迁移
我正在创建一个用户可以从中添加和删除实体的应用程序。应用程序生成模型、迁移和迁移数据库。实际上是这样的:
当用户删除模型时,我会清理文件并生成删除表的新迁移。
在这一点上,我将有一个类似的迁移列表:
20110515130423_create_customers.rb 20110515130445_create_houses.rb 20110515130457_drop_customers.rb
没问题 - 一切正常。迁移它们的完整集合会添加然后删除内容,但这没关系。
当有人尝试添加他们之前添加的模型时,我的问题就出现了。耙子中止说:
多个迁移的名称为 CreateCustomers
我应该怎么办?我将首先尝试的方法是尝试检测这样的循环,然后清除所有迁移。这会让迁移数据库处于奇怪的状态吗?
感谢您的帮助 - 我知道这有点奇怪;-)
sql - 用于 DVCS 的 SQL 迁移工具
大多数(如果不是全部)现有迁移工具认为迁移历史是线性的。因此,当您创建新迁移时,您将获得版本 42 或其他版本,然后每个人都可以在收到您的更改后更新到此版本。
问题是如果您使用 DVCS,两个人可能同时拥有版本 42。这意味着解决冲突将变得非常重要,以至于令人痛苦。:)
所以我的问题是 - 我应该推出自己的系统还是在野外有什么?最好简单,对 *nix 友好。我打算将它主要与 mysql 和 postgresql 一起使用。
grails - 迁移文件中所有额外的垃圾是什么?
我今天开始测试 grails 数据库迁移插件。我与域进行了初始同步,然后基于运行 diff 命令创建了一个新的更改日志。这应该就像重命名列和(重新)将索引分配给该列一样简单。所以我希望看到以下...
这一切都很好。但是,我也看到很多与我的更改无关的 dropIndex 和 createIndex 块。有谁知道为什么会这样?