Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在夹层中切换数据库后端_Python_Mysql_Django_Mezzanine - Fatal编程技术网

Python 在夹层中切换数据库后端

Python 在夹层中切换数据库后端,python,mysql,django,mezzanine,Python,Mysql,Django,Mezzanine,我试图编写一系列示例,其中读者以增量方式构建web应用程序。第一阶段使用夹层的默认配置,使用内置SQLlite: sudo pip install mezzanine sudo -u mezzanine python manage.py createdb 初始示例完成后,我想将现有设置切换到mysql后端。如果这太复杂,我至少想在新的后端上重新创建夹层附带的内置示例,但夹层不允许重新运行createdb CommandError: Database already created, you

我试图编写一系列示例,其中读者以增量方式构建web应用程序。第一阶段使用夹层的默认配置,使用内置SQLlite:

sudo pip install mezzanine
sudo -u mezzanine python manage.py createdb 
初始示例完成后,我想将现有设置切换到mysql后端。如果这太复杂,我至少想在新的后端上重新创建夹层附带的内置示例,但夹层不允许重新运行
createdb

CommandError: Database already created, you probably want the migrate command
这看起来应该非常简单,但我似乎不能完全正确地完成它(而且
migrate
本身并不能做到这一点)。谷歌和官方文档也帮不上忙

我正在采取的步骤:首先,我在AmazonRDS上创建一个MySQL数据库。然后,我在myapp/local_设置中为它设置了适当的配置(我确信这些步骤是正确的)。然后:

但是:

Running migrations:
   No migrations to apply.

我缺少什么?

夹层项目基于Python框架Django。
除非您遇到夹层的特定问题,否则大多数问题都可以通过了解Django的方式来解决

迁移只是Django引用数据库中的更改和修改的方式,即模式(因为应用程序不断发展,数据库也不断变化)

为了实际迁移数据,您可以:

  • 从当前数据库导出内容,例如:

    ./manage.py dumpdata>json.json中的db dump
    ./manage.py--format=xml>db-dump-in-xml.xml

  • 如果数据太多或内存不足,则可能会崩溃。然后使用本机DB工具获取转储

  • settings.py中创建并添加新数据库的设置

  • 创建表并在新定义的数据库上设置它们(基于您的模型):

    ./manage.py makemigrations
    ./manage.py迁移

  • createdb
    =
    syncdb
    (创建)+
    migrate
    (设置)组合

  • 并在此处重新加载导出的数据:

    ./manage.py loaddata db-dump-in-json.json


  • 夹层项目基于Python框架Django。
    除非您遇到夹层的特定问题,否则大多数问题都可以通过了解Django的方式来解决

    迁移只是Django引用数据库中的更改和修改的方式,即模式(因为应用程序不断发展,数据库也不断变化)

    为了实际迁移数据,您可以:

  • 从当前数据库导出内容,例如:

    ./manage.py dumpdata>json.json中的db dump
    ./manage.py--format=xml>db-dump-in-xml.xml

  • 如果数据太多或内存不足,则可能会崩溃。然后使用本机DB工具获取转储

  • settings.py中创建并添加新数据库的设置

  • 创建表并在新定义的数据库上设置它们(基于您的模型):

    ./manage.py makemigrations
    ./manage.py迁移

  • createdb
    =
    syncdb
    (创建)+
    migrate
    (设置)组合

  • 并在此处重新加载导出的数据:

    ./manage.py loaddata db-dump-in-json.json


  • Django 1.10和Mezzanine 4中不再有syncdb了。。。是否迁移--立即运行syncdb?看起来在教程中迁移数据的步骤太多了--可能正确的解决方案是找到如何说服夹层在新的DB(createdb)中再次设置默认示例的方法,理想情况下不必卸载它…Django 1.10和夹层4中不再有syncdb了。。。是否迁移--立即运行syncdb?看起来在教程中迁移数据的步骤太多了--可能正确的解决方案是找出如何说服mezzanine在新的DB(createdb)中再次设置默认示例,理想情况下无需卸载它。。。
    Running migrations:
       No migrations to apply.