我在rails 3.0上有一个Ruby项目。我在pg中有一个数据库模式。我在2个服务器上有这个项目的实例和各自的数据库。现在我必须把所有东西都转移到一个服务器上。那么如何将数据从一个数据库导出到另一个数据库?它不能是数据库的文字导出导入bcos it有许多表具有id和多对多关系。所以基本上我需要追加它以便没有冲突例如
Databse 1 table 1 user
id Name
1 Josh
2 Rajn
4 Kush
Database table 1 user
id Name
1 Ram
2 Kevin
7 Don
所以新的应该是
Databse table 1 user
id Name
1 Ram
2 Kevin
7 Don
8 Josh
9 Rajn
10 Kush
并且连接表也应该有新的ID
答案 0 :(得分:2)
不降低所有目标表中id字段的最大值,并将它们作为偏移值添加到源id字段。
例如:
<强> migration.sql 强>
SELECT @max_user_id := MAX(id) FROM users;
SELECT @max_comment_id := MAX(id) FROM comments;
# Then perform the following mysql commands in the target database:
INSERT INTO target.users(id, name) SELECT id + @max_user_id, name FROM source.users
INSERT INTO target.comments(id, comment, user_id) SELECT id + @max_comment_id, comment, user_id + @max_user_id FROM source.comments
请注意,您无法在
中进行迁移