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

2024-11-04 13:00:11

我们都知道,django可以不写任何sql语句,只要在models.py文件中定义好模型,就可以通过pyt茑霁酌绡hon 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'

猜你喜欢