我已经在我自己的服务器上运行了带有sqlite数据库的Kallithea。我想把所有这些数据都转移到MySQL数据库中。在默认情况下,如果没有指定任何其他数据库,Kallithea将使用sqlite。他们推荐使用https://github.com/shazow/sqlalchemygrate将数据从一个数据库迁移到另一个数据库,这是Kallithea文档pdf https://media.readthedocs.org/pdf/kallithea/latest/kallithea.pdf中的建议。
我使用Python pip安装了sqlalchemygrate,但当我尝试迁移时,有些部分我根本不理解。“帮助”菜单没有明确指定如何使用迁移命令。至少我一点也不明白。例如,当我尝试输入
grate migrate "sqlite:./kallithea.db" "mysql://kallithea@localhost/kallithea"我得到的错误是
ImportError: No module named sqlite
在帮助菜单中,它显示要使用
migrate METADATA ENGINE_FROM ENGINE_TO Migrate schema or data from one engine to another.
并举例说明如何使用它
grate migrate model.meta:metadata \ "mysql://foo:bar@localhost/baz" "sqlite:///:memory:" \
我不太明白的是它需要的元数据是什么?以及如何为此指定sqlite .db文件。以及如何在mysql中使用拥有该数据库所有权限的用户kallithea迁移数据到新的kallithea数据库。
发布于 2015-09-11 18:27:01
不确定Kallithea,但RhodeCode用户使用TAPS (https://github.com/ricardochimal/taps)项目将他们的数据库迁移到不同的格式取得了巨大的成功。
发布于 2018-06-29 01:33:38
ImportError:没有名为sqlite的模块
您可能需要安装sqlite和pip install sqlite或类似的软件。
关于它需要什么元数据,它指的是SQLAlchemy:http://docs.sqlalchemy.org/en/latest/core/metadata.html上下文中的metadata
https://stackoverflow.com/questions/32422819
复制相似问题