我被要求将Access数据库移植到MySQL和 为用户提供简单的Web前端。 数据库由8-10个表组成,并存储有关的数据 客户咨询(客户,顾问,主题,时间......)。
我需要为我们的顾问提供一个网络接口, 他们在会话期间将所有这些信息插入到预定义的掩码/表单中。
我最初的想法是将Access-DB移植到MySQL,我已经完成了 然后使用web2py框架通过登录构建用户界面, 插入数据,浏览/滚动案例并提取报告。
web2py with usermanagment和一些示例视图&控制器和 MySQL-DB正在运行。我在DB2py中将数据库添加到DAL中, 但现在我注意到,对于web2py,必须定义每个表 再次在web2py中,它能够与SQL-Server进行通信。
虽然成功运行了extract_mysql_models.py脚本 导出已存在的SQL DB的结构以在web2py中使用 关于web2py的担忧正在积累。
这种与我的数据库交谈的双重/冗余方式让我觉得很奇怪 web2py不支持python3。
web2py是完成任务的正确方法还是有更好的方法?
非常感谢您倾听/帮助。
答案 0 :(得分:0)
这种与我的数据库交谈的双重/冗余方式让我觉得奇怪而且web2py不支持python3。
您希望用于与数据库通信的任何抽象(无论是web2py DAL,Django ORM,SQLAlchemy等)都必须具备数据库模式的一些知识才能构造查询。
即使您在不使用ORM / DAL的情况下以编程方式自己生成所有SQL语句,您的代码仍然必须具备数据库结构的一些知识(即,您必须指定表和字段的名称等。 )。
对于现有数据库,我们的目标是通过内省数据库模式来自动执行此过程,这是extract_mysql_models.py脚本的目的。如果该脚本不起作用,您应该在Github上报告问题和/或在web2py Google Group上打开一个帖子。
另请注意,在创建 new 数据库时,web2py可帮助您通过为您处理迁移(包括表创建)来避免冗余的架构规范 - 因此您只需指定架构 在web2py中,DAL会自动在数据库中创建表格(当然,这是可选的)。