关于Gitlab10迁移用户

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/moxiaomomo/article/details/83412173

因为已有的gitlab服务有些问题,现在在新的服务器上新搭建了一个gitlab11服务。
暂时不需要迁移项目相关内容,只想把所有已有的账号给挪过去。
一时半会没找到如何只迁移gitlab上的账号(项目,issue什么的不作迁移)的合适方法,故自己先用手工的方法解决了。
该方法未经严格验证,请谨慎参考
(1)把旧的gitlab上postgresql的相关表给导了出来,导为csv格式文件,一共三个表:

users
namespaces
routes

(2) 把users的csv文件里和root(admin)账号的记录行去掉,因为新的gitlab上已经创建了root用户;
(3) 如果两个gitlab之间的版本不同,还需要考虑字段兼容的问题,我是把不相同的字段那一列整个去掉即可(因为没涉及到必要的字段);
(4) 把routesnamespaces的csv文件里与账号无关的记录行(比如project什么的)去掉;
(5) 保证routes,namespaces,users这三个表之间的id,owner_id,source_id等关联关系是正确的;

update namespaces as a set owner_id=b.id from users as b where a.name=b.username;
update routes as a set source_id=b.id from namespaces as b where a.name=b.name;

(6)在新的gitlab上,进入postgresql客户端命令行,以COPY … from xx.csv with CSV HEADER的方式将这三个表文件给导了进去
(7) 新gitlab上通过扮演角色的方法测试了下登录,暂时没发现什么问题。

猜你喜欢

转载自blog.csdn.net/moxiaomomo/article/details/83412173