Ticket #133 (closed 总结: fixed)
产品报价库一些项目上线的总结
| Reported by: | yuanhuoqing | Owned by: | |
|---|---|---|---|
| Priority: | major | Milestone: | 2012报价库5.0 |
| Component: | Snake | Version: | 报价库5.0 |
| Keywords: | Cc: | ||
| Due Date: | 22/01/2013 |
Description
之前一些项目的上线过程中遇到了各种各样的问题,为了避免后续上线出现同样的问题,故总结了下。
1、新增表、视图或索引等的权限问题
之前上线遇到新增的表或视图找不到的问题,最后查出是当前应用连数据库的用户没有访问权限。
因为历史原因产品报价库的oracle数据库的用户有product_pub、product_app、product三个用户,其中使用最多的是product_pub,其次是product_app,如果给dba执行数据脚本没说明那个用户的,dba是按自己使用习惯随机找个用户登陆后执行脚本的,所以涉及新增表、视图或索引的必须弄清楚当前应用连oracle数据用户,然后给dba的脚本时注明给那个用户授权的,保险起见最好让dba给三个用户都授权。
2、update或者delete数据须考虑所操作的数据表的相关的数据,让dba确认下看操作时是否会锁表等,会不会影响网友的访问,如果会则需提前想好处理方案。
3、如果是新增的后台功能须考虑用户权限的问题,避免上线后发现用户没权限需要临时处理。
如新增产品TAG需求
--权限--
insert into CC_FUNCTION(APP_ID,ID,NAME,REMARK,RANK) VALUES('PRODUCT','productSeoTag.list','产品SEO_TAG列表','产品SEO_TAG列表',1);
insert into CC_FUNCTION(APP_ID,ID,NAME,REMARK,RANK) VALUES('PRODUCT','productSeoTag.create','增加产品SEO_TAG','增加产品SEO_TAG',1);
insert into CC_FUNCTION(APP_ID,ID,NAME,REMARK,RANK) VALUES('PRODUCT','productSeoTag.delete','删除产品SEO_TAG','删除产品SEO_TAG',1);
insert into CC_FUNCTION(APP_ID,ID,NAME,REMARK,RANK) VALUES('PRODUCT','productSeoTag.edit','修改产品SEO_TAG','修改产品SEO_TAG',1);
commit;
--授权给主编--
insert into CC_ROLE_FUNCTION(APP_ID,ROLE_ID,FUNCTION_ID) VALUES('PRODUCT',21,'productSeoTag.list');
insert into CC_ROLE_FUNCTION(APP_ID,ROLE_ID,FUNCTION_ID) VALUES('PRODUCT',21,'productSeoTag.create');
insert into CC_ROLE_FUNCTION(APP_ID,ROLE_ID,FUNCTION_ID) VALUES('PRODUCT',21,'productSeoTag.delete');
insert into CC_ROLE_FUNCTION(APP_ID,ROLE_ID,FUNCTION_ID) VALUES('PRODUCT',21,'productSeoTag.edit');
4、产品库报价库前后台分mysql和oracle数据库,如果需要两边同步数据的上线前须保证两边的表结构是一致的,不然同步数据时会失败。
5、如果需要改配置文件务必保证要下载线上的配置文件来修改后来更新,因为配置文件线上和开发环境的一般来说都是不一致的。
![(please configure the [header_logo] section in trac.ini)](http://www1.pconline.com.cn/hr/2009/global/images/logo.gif)