python - 如何将现有的 MySQL 数据库导入到 web2py 中?

标签 python mysql database web2py

我正在开发一个项目,该项目要求我导入现有的数据库并在 Web2py 中使用它的数据。我已经能够通过将 DAL URI 更改为来链接到数据库:

db = DAL('mysql://root:password@localhost/database_name',pool_size=1,check_reserved=['all'])

它创建了我所有的 web2py 定义的字段,并且可以与它们交互,但我无法访问之前数据库中已有的任何数据。我尝试运行 web2py 脚本 extract_mysql_models.py,这是受支持的导入数据的方式,但我得到的只是:

legacy_db = DAL('mysql://root:password@localhost/localhost/database_name')

这只是创建了另一个 dal 对象。尝试通过legacy_db访问任何内容只会提供与尝试通过db获取内容相同的选项。以前有人这样做过吗?有什么建议吗?

最佳答案

我也遇到了同样的问题。我就是这样做的。

  1. 从旧数据库中转储它

    mysqldump --user USERNAME --password=PASSWORD dbname > backup.sql
    
  2. 将备份文件导入到新的 mysql 服务器

    mysql -h mysql.server -u USERNAME -p 'DBNAME' < backup.sql
    
  3. 添加将 DAL 连接添加到新的 mysql 服务器。

它与旧数据库相同。我遇到的问题是,从 pythonanywhere UI 设置数据库创建了一个与我的旧数据库不同的数据库。所以如果我没记错的话,你也可以让 web2py 首先创建数据库表,然后最后执行步骤 2。无论如何,我就是这么做的……如果我没记错的话;)希望它对你有帮助。干杯

关于python - 如何将现有的 MySQL 数据库导入到 web2py 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17799041/

相关文章:

python - 如何使用 Python 将 URL 中的所有文本复制到剪贴板?

python - Chromedriver 测试后关闭

php - 有没有办法从 SQL 查询返回绑定(bind)结果?

mysql - 查询以选择 var REGEX MANY 列

mysql - 如何在线存储转换为sql的access数据库

python - Python 中 R 的 qqplot 的等价物

python - 如何从共享变量支持的 theano 张量变量中获取值?

Mysql:选择所有字段都相等的行

javascript - 如何将数据存储在database.db中而不丢失数据?

php - 在单个 Mysql 查询中获取所有行信息及其计数