问题标签 [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.
migration - 将访问表迁移到 SQL Server - 初学者
我在 Access 2007 数据库中工作,需要帮助将表迁移到 SQL 服务器。是否可以只购买 Access 2007 或者我需要为 SQL 下载单独的程序?当我尝试创建新的 SQL 数据库或通过 Access 打开现有的数据库时,我收到“CREATE DATABASE”或“CREATE TABLE”错误,但不确定问题出在哪里。任何建议将不胜感激!
.net - Entity Framework 4 的数据库迁移
我一直在使用 Entity Framework 4,使用模型驱动的方法从我的实体生成数据库脚本。这很好,但我不确定在对数据库进行版本控制时它是如何工作的。我猜如果我想使用活动记录类型迁移框架,我必须反过来工作并从我的数据库生成我的实体?有什么方法可以使用模型驱动的方法并正确地对数据库进行版本控制?
c# - 数据库迁移代码生成器
我想将数据库迁移引入我的项目,并希望能够从数据库生成我的初始迁移脚本。我想知道是否有任何代码生成工具可以做到这一点?我正在考虑使用 migrator.net,但我很乐意使用任何东西,只要我能得到一个工具来为其生成代码。
sql-server-2005 - 数据库迁移
我们正在将客户自己的数据库模式迁移到我们自己的(都是 SQL-Server)。如果列不完全对齐(默认值等),则从他们的模式到我们的模式的大多数映射都已被识别,并且规则已达成一致。
以前,根据分配任务的人员,这可以通过混合使用 sql 脚本或一次性 vb 应用程序来完成。
我在想必须有一个应用程序(商业或其他),您可以在其中分配这些映射/规则并让它流式传输数据。当然,该工具的设置和配置将少于临时脚本的创建......
有应用程序吗?除了明显的“小心”之外,还有什么技巧可以减轻非 DBA 将一个模式移植到另一个模式的压力?
oracle - 我可以使用 imp/exp 工具将数据库从 Oracle 9 迁移到 Oracle 10
我是分包商,我的客户想要将 Oracle 数据库从 9 升级到 10。其他供应商将执行升级过程,我被要求在升级之前创建我需要的任何备份,然后在 Oracle 10 中重新创建环境。我的所有数据都存储在单个模式中的单独数据库中。没有花哨的关系、脚本或类似的东西(实际应用程序支持不同的数据库:Oracle、SQL Server、Postgres,因此我们希望避免任何特定于数据库的代码)。
我希望使用 imp/exp,但我不确定 imp/exp 是否向后兼容(exp 从 O9 和 imp 到 O10)?
如果有更好/推荐的方法来处理类似情况,我将不胜感激任何建议。
sql-server - SQL Server 的数据库迁移
我需要一个用于 SQL Server 的数据库迁移框架,能够同时管理架构更改和数据迁移。
我想我在这里寻找类似于 django 的South框架的东西。
考虑到 South 与 django 的 ORM 紧密耦合的事实,以及 SQL Server 有这么多 ORM 的事实,我想只有一个通用的迁移框架,使您能够以受控和顺序的方式编写和执行 SQL 数据/模式更改脚本应该就足够了。
sql - 我应该提倡从访问(我的)sql迁移吗
我们有一个针对公司服务器上的访问数据库编写的 Windows MFC 应用程序。数据库不是那么大:19 MB。任何时候最多有 2-3 个用户访问它。它用于工厂环境中,因为它是我们小部件制造时间的一部分,因此通过 Intranet 的访问速度(或缺乏访问速度)变得很明显。
场景是这样的:随着每个小部件完成,它会在数据库中获取一条记录。到年底,数据库更大,搜索记录的时间越来越长。迄今为止的解决方案是大约每年一次将旧记录手动移动到存档表中。
我们现在正在修改这个应用程序的其他部分,如果我们打算这样做的话,现在是转移到另一个数据库的好时机。
据我了解,如果我们使用 sql,搜索时间不会随着表变大而增加,因为不必每次都通过网络发送整个 .mdb。它是否正确?有没有人知道是否值得去麻烦(时间和金钱)迁移到新数据库,或者我应该为我们现在拥有的应用程序添加更多功能,并且可能自动清除旧记录不时,并在需要时向应用程序添加额外的功能以获取较旧的记录?
感谢您可以分享的任何智慧..
mysql - 在 Linux (Kubuntu) 上从 MySQL 迁移到 PostgreSQL
很久以前在一个很远很远的系统上......
尝试将数据库从 MySQL 迁移到 PostgreSQL。我读过的所有文档都非常详细地介绍了如何迁移结构。我发现很少有关于迁移数据的文档。该模式有 13 个表(已成功迁移)和 9 GB 的数据。
MySQL 版本:5.1.x
PostgreSQL 版本:8.4.x
我想使用 R 编程语言使用 SQL 选择语句分析数据;PostgreSQL 有 PL/R,但 MySQL 什么都没有(据我所知)。
新希望
创建数据库位置(/var
空间不足;也不喜欢到处都有 PostgreSQL 版本号——升级会破坏脚本!):
sudo mkdir -p /home/postgres/main
sudo cp -Rp /var/lib/postgresql/8.4/main /home/postgres
sudo chown -R postgres.postgres /home/postgres
sudo chmod -R 700 /home/postgres
sudo usermod -d /home/postgres/ postgres
一切都好到这里。接下来,重新启动服务器并使用这些安装说明配置数据库:
sudo apt-get install postgresql pgadmin3
sudo /etc/init.d/postgresql-8.4 stop
sudo vi /etc/postgresql/8.4/main/postgresql.conf
- 更改
data_directory
为/home/postgres/main
sudo /etc/init.d/postgresql-8.4 start
sudo -u postgres psql postgres
\password postgres
sudo -u postgres createdb climate
pgadmin3
用于pgadmin3
配置数据库和创建模式。
这一集在一个名为 的远程 shell 中继续bash
,两个数据库都在运行,并安装了一组带有相当不寻常的徽标的工具:SQL Fairy。
perl Makefile.PL
sudo make install
sudo apt-get install perl-doc
(奇怪的是,它没有被调用perldoc
)perldoc SQL::Translator::Manual
提取 PostgreSQL 友好的 DDL 和所有MySQL
数据:
sqlt -f DBI --dsn dbi:mysql:climate --db-user user --db-password password -t PostgreSQL > climate-pg-ddl.sql
- 编辑
climate-pg-ddl.sql
标识符并将其转换为小写,并插入模式引用(使用 VIM)::%s/"\([A-Z_]*\)"/\L\1/g
:%s/ TABLE / TABLE climate./g
:%s/ on / on climate./g
mysqldump --skip-add-locks --complete-insert --no-create-db --no-create-info --quick --result-file="climate-my.sql" --databases climate --skip-comments -u root -p
将 MySQL 中的表和列简单地重命名为小写可能是值得的:
select concat( 'RENAME TABLE climate.', TABLE_NAME, ' to climate.', lower(TABLE_NAME), ';' ) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='climate';
- 执行上一步中的命令。
- 可能有一种方法可以对列执行相同的操作;我手动更改了它们,因为它比弄清楚如何编写查询要快。
数据库反击
在 PostgreSQL 中重新创建结构如下:
pgadmin3
(切换到它)- 单击执行任意 SQL 查询图标
- 打开
climate-pg-ddl.sql
- 搜索
TABLE "
替换为TABLE climate."
(插入架构名称climate
) - 搜索
on "
替换为on climate."
(插入架构名称climate
) - 按下
F5
执行
这导致:
绝地的回复
在这一点上,我很难过。
- 我从这里去哪里(步骤是什么)转换
climate-my.sql
到,climate-pg.sql
以便它们可以针对 PostgreSQL 执行? - 如何确保正确复制索引(以保持引用完整性;我目前没有限制来缓解过渡)?
- 如何确保在 PostgreSQL 中添加新行将从插入的最后一行的索引开始枚举(并且不与序列中的现有主键冲突)?
- 在将数据从 MySQL 转换为 PostgreSQL 插入时,如何确保模式名称通过?
资源
需要相当多的信息才能做到这一点:
- https://help.ubuntu.com/community/PostgreSQL
- http://articles.sitepoint.com/article/site-mysql-postgresql-1
- http://wiki.postgresql.org/wiki/Converting_from_other_Databases_to_PostgreSQL#MySQL
- http://pgfoundry.org/frs/shownotes.php?release_id=810
- http://sqlfairy.sourceforge.net/
谢谢!
java - 是否存在使用 Hibernate 指定模式的数据库模式迁移工具?
我习惯了 Django South http://south.aeracode.org/,它允许 Django 项目的模式和数据迁移。Hibernate 项目是否存在类似的工具?
database - 试验数据以确定价值 - 迁移/方法?
我有很多可用的数据,并且想要捕获和试验当前未在生产中使用的数据。我不想立即将它添加到我现有的数据存储中,因为这无疑会影响生产。显而易见的解决方案似乎是制作生产数据的副本并将其与我想要玩的东西(访问此数据的应用程序等)集成,但我想知道是否有更好(更便宜?)的方法来做这个。
隔离和整合都很重要。我希望能够将轻量级/实验性数据资产与大量生产数据分开,但如果认为实验性资产有用,也能够(相对)轻松地集成。
谢谢。