我有一个 Django1.1 项目,它适用于旧版 MySQL 数据库。我正在尝试将此项目迁移到 Oracle(xe 和 11g)。我们有两个迁移选项: - 使用 SQL 开发人员创建迁移 sql 脚本。- 使用 Django 固定装置。
使用 sql developer 的 sql 脚本创建的架构与从 syncdb 创建的架构不匹配。例如,Django 需要 TIMESTAMP 列,而 sql developer 创建 DATE 列。
使用带有 Django 设备的 syncdb 可能很棒,但是当尝试将 MySQL 设备加载到 Oracle 中时,使用 syncdb 后,我得到: IntegrityError:ORA-00001:违反唯一约束(USER.SYS_C004253)
如何找到造成完整性错误的部分?
更新:按照我尝试过的 django 邮件列表中的建议:
在连接到 MySQL 时转储所有内容:python manage.py dumpdata > fixture.json
使用空架构创建了一个新的 Oracle 用户并将 db 连接切换到 Oracle(没有执行 syncdb)
使用以下命令将数据加载到 Oracle:python manage.py loaddata fixture.json
我在使用 loaddata 时没有收到错误,但是在运行服务器并导航到 localhost:8000 时,我得到:ORA-00942:表或视图不存在
谢谢