在Django应用程序中集成和使用遗留Mysql数据库

2024-05-03 17:32:08 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我在这个网站上的第一个问题,我对Django、SQL和一般的开发都是新手。所以什么都没有!在

操作系统-Mac OS X 10.10.5。在

  1. 我正在用Django v1.8构建一个应用程序。项目中的具体操作将非常简单-它将对现有的MySQL数据库执行查询。

  2. 我目前使用的是MySQL v5.6.27(MySQLworkbench 6.3),并将其安装在默认位置。在

    /usr/local/var/mysql
    
  3. 我花了很大的力气用python脚本在这个数据库中填充大量数据。数据库对这个项目很重要,我想用我的django应用程序进行查询。

  4. 接下来,我配置设置.py在我的项目中使用mysql而不是默认的sqlite。在

    projectroot/projectname/settings.py
    
    DATABASES = {
      'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'APP_stock_data',   #Name of the DB I have my data in
        'USER': 'User',
        'PASSWORD': 'my-pw',  #Changed for this post
        'HOST': 'localhost',   
        'PORT': '',
      }
    }
    

问题/请求:

以下是我一直试图在没有运气的情况下做的事情:

  • MySQL数据库有大量的数据。我想把这个数据库和Django应用一起发布。如何将mySQL数据库放入Django应用程序?我是否要执行mysql转储并将数据转储到数据库目录中?(例如下面的例子)

    /projectroot/database
    
  • 我还希望能够创建新的表,这样我就可以为用户创建模型、新帖子等。计划只是通过迁移在每个应用程序中创建新模型。一旦这个数据库在上面列出的目录中,我可以简单地对它进行正常迁移而不影响现有数据的完整性吗?


Tags: 数据项目djangopy模型目录数据库应用程序
1条回答
网友
1楼 · 发布于 2024-05-03 17:32:08

使用djangoinspectdb命令:

python manage.py inspectdb > models.py  

这将把所有数据库表导出到模型类。但是,您需要首先连接到旧数据库,但是这个命令不会接触数据库记录,而只是读取模式。在

如果您只想继续使用原始数据库,那么就这样。否则,您可以将sql转储到一个文件并将其导入到新数据库中。最后,您只需要配置django以指向正确的数据库。在

Django有一个解释how to integrate with legacy database的文档。在

相关问题 更多 >