Django教程:[36]自动更新SAE mysql数据库

2025-11-08 06:11:22

我们都知道,django可以不写任何sql语句,只要在models.py文件中定义好模型,就可以通过python manage.py syncdb命令来创建表或者做其他数据库更新。但是当我们使用SAE平台上的mysql数据后,我们该怎样使用这个命令来更改数据库呢?其实也是很简单的。

    先在应用文件夹下的settings.py中添加以下代码:它的逻辑是,当代码在SAE平台上运行时,直接使用sae上的数据库;如果是在本地运行代码,需要我们手动决定使用本地数据库还是sae上的数据库。看第二个if语句,我们其条件设置为False就是使用sae平台上的数据库。注意以下代码需要你自己修改ACCESSKEY SECRETKEY APPNAME,这三个变量代表什么呢?接着看。。。

    Django教程:[36]自动更新SAE mysql数据库

    来到你在SAE平台上创建的应用首页

    我们可以看到这三个信息,按照这三个信息修改以上代码,至于你需要修改的本地数据库的基本信息,这里就不多说了。

    Django教程:[36]自动更新SAE mysql数据库

    另外我们需要修改的settings.py文件中的数据库信息:

    Django教程:[36]自动更新SAE mysql数据库

    设置完成以后,我们可以启动sae的本地开发环境:

    Django教程:[36]自动更新SAE mysql数据库

    如果这个在dos下的命令你不太懂,可以看官方文档:我把你需要看的部分截图给你

    Django教程:[36]自动更新SAE mysql数据库

    之后,我们我们重新打开一个dos窗口,然后cd到你的应用目录:

    Django教程:[36]自动更新SAE mysql数据库

    然后执行python manage.py syncdb,然后你看到一堆这样的东西,就说明你已经更新了sae上的mysql数据库

    Django教程:[36]自动更新SAE mysql数据库

    打开sae数据库,可以看一下里面的表是不是有更新了。

    Django教程:[36]自动更新SAE mysql数据库

    以下是用到的settings.py中用到的代码:

    if 'SERVER_SOFTWARE' in os.environ:#本地和sae环境使用不同的配置

        DOMAIN='http://deltatest.sinaapp.com'

        DB_HOST='w.rdc.sae.sina.com.cn'

        DB_PORT='3307'

        DB_USER=ACCESSKEY

        DB_PASS=SECRETKEY

        DB_DB='app_APPNAME'

        #CACHES_BACKEND=

        UEDITOR_UPLOAD={

            'BACKEND':'DjangoUeditor.saebackend',

            'DOMAIN':'APPNAME',

            }

    else:

        DOMAIN = 'http://localhost:8000'

        CACHES_BACKEND = 'django.core.cache.backends.memcached.MemcachedCache'

        if False:

            DB_HOST='localhost'

            DB_PORT=''

            DB_USER='本地数据库用户名'

            DB_PASS='本地数据库密码'

            DB_DB='本地数据库名'

        else:

            from sae._restful_mysql import monkey

            monkey.patch()

            DB_HOST='w.rdc.sae.sina.com.cn'

            DB_PORT='3307'

            DB_USER='ACCESSKEY'

            DB_PASS='SECRETKEY'

            DB_DB='app_APPNAME'

(共篇)上一篇:配置SAE本地开发...|下一篇:
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢