Skip to content

Commit a6323f1

Browse files
committed
Add doc for cloudsql.py, saecloud shell etc.
1 parent 46fa7ec commit a6323f1

File tree

2 files changed

+53
-15
lines changed

2 files changed

+53
-15
lines changed

docs/service.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ MySQL
4545
数据库管理
4646
~~~~~~~~~~~~~~
4747

48+
你可以使用 `sae-python-dev` 包里的 `cloudsql.py` 这个mysql命令行客户端来管理数据库。详细见 :ref:`cloudsql.py`
49+
4850
SAE支持使用PHPMyAdmin来管理Mysql,点击管理面板 `服务管理 > MySQL > 管理MySQL` 即可进入。
4951

5052
开发时可使用本地mysql数据库,在发布时再将其导入到SAE线上数据库中。

docs/tools.rst

Lines changed: 51 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,15 @@ SVN限制:
2424
- 每个应用代码总大小不超过100M
2525
- 单个版本代码总大小不超过50M
2626

27-
.. warning:: 不要使用svn cp,mv,目前还不支持这两个操作。
27+
.. warning::
28+
29+
1. 不要使用svn cp,mv,目前还不支持这两个操作。
30+
2. 建议使用命令行工具中的saecloud deploy命令来部署代码。
2831

2932
本地开发环境
3033
--------------
3134

32-
本地开发环境仅为应用开发便利之用,对sae python环境的模拟并不完整
35+
本地开发环境仅为应用开发便利之用,对sae python环境的模拟并不完全
3336

3437
安装
3538
~~~~~~~~~
@@ -106,10 +109,8 @@ kvdb默认数据存在内存中,dev_server.py进程结束时,数据会全部
106109

107110
.. _howto-use-sae-python-with-virtualenv:
108111

109-
saecloud
110-
----------------------
111-
112-
saecloud是一个简单的命令行部署工具。它分离了代码部署和代码托管,使你可以选择习惯使用的vcs工具,同时还能够快速部署本地app目录到SAE服务器上。
112+
命令行工具saecloud
113+
--------------------
113114

114115
部署代码
115116
~~~~~~~~~~
@@ -145,21 +146,23 @@ saecloud deploy命令接受一个可选参数: app代码所在路径,默认为
145146
`deploy` 和 `export` 命令需要用到svn,请先安装svn命令行工具。
146147
windows用户可以在这里下载:http://sourceforge.net/projects/win32svn/
147148

148-
上传文件到storage
149-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
149+
安装依赖的第三方包
150+
~~~~~~~~~~~~~~~~~~
150151

151-
对于无法在storage管理页面上传的大文件,可以使用saecloud提供的命令行工具来上传。 ::
152+
在应用目录中执行下面的命令安装依赖的第三方包。 ::
152153

153-
saecloud upload-data app-name domain file [file ...]
154+
saecloud install package [package ... ]
154155

155-
处理依赖关系
156-
~~~~~~~~~~~~~~~~~~
156+
如果应用的依赖关系比较多,也可以这些依赖关系写到依赖文件中,例如: ::
157157

158-
在应用目录中执行下面的命令安装依赖的包。 ::
158+
Framework==0.9.4
159+
Library>=0.2
159160

160-
saecloud install package [package ... ]
161+
假设上面的依赖文件的文件名为requirements.txt,你可以执行下面的命令安装所有的依赖包。 ::
161162

162-
该命令会安装依赖包到该目录下名为 `site-packages` 的目录里。如果文件比较多的话,推荐压缩该目录。 ::
163+
saecloud install -r requirements.txt
164+
165+
该命令会安装依赖包到应用目录下名为 `site-packages` 的目录里。如果文件比较多的话,推荐压缩site-packages目录。 ::
163166

164167
cd site-packages/
165168
zip -r ../site-packages.zip .
@@ -182,6 +185,30 @@ saecloud deploy命令接受一个可选参数: app代码所在路径,默认为
182185

183186
安装指定版本的package:saecloud install package==version
184187

188+
.. _cloudsql.py:
189+
190+
cloudsql.py
191+
-------------
192+
193+
cloudsql.py是SAE MySQL服务的一个命令行客户端,用户可以使用cloudsql.py来直接操作应用的线上数据库。 ::
194+
195+
alan@sina:~/python$ cloudsql.py -u ACCESSKEY -p SECRETKEY APP_NAME
196+
SAE MySQL Client
197+
198+
Type "help" or "?" for help.
199+
200+
Connecting to Cloud SQL database "app_shellpy" on host w.rdc.sae.sina.com.cn.
201+
Using readline for history management.
202+
Loading history file "/home/alan/.saecloud/app_shellpy.hist"
203+
mysql>
204+
205+
如果想要在代码中直接操作线上的数据库,在 `import MySQLdb` (并不一定要安装MySQLdb包)之前执行以下的代码即可: ::
206+
207+
# 只在本地开发环境中执行
208+
import os
209+
if 'SERVER_SOFTWARE' not in os.environ:
210+
from sae._restful_mysql import monkey
211+
monkey.patch()
185212

186213
可用插件
187214
--------------
@@ -222,6 +249,15 @@ SAE Python Shell是一个wsgi中间件,提供了一个在线的interactive she
222249

223250
- 访问地址 https://<your-app-name>.sinaapp.com/_sae/shell ,根据提示输入你设置的口令
224251

252+
- 或者你也可以在命令行下面使用 `saecloud shell <your-app-name> [-p PASSWORD]` 来访问在线shell。 ::
253+
254+
alan@sina:~/shellpy$ saecloud shell pylabs -proot
255+
Python 2.7.3 (default, Mar 27 2013, 18:11:21)
256+
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)]
257+
Type "help", "copyright", "credits" or "license" for more information.
258+
259+
>>>
260+
225261
.. warning::
226262

227263
测试期间请谨慎使用,建议不使用时从源码中注释掉此shell。

0 commit comments

Comments
 (0)