OSDN Git Service

i
[luz/luz.git] / lacoder / jsp / domain / sql.jsp
1 <!-- $Id: sql.jsp 474 2011-08-21 10:48:48Z dobashi $ -->\r
2 <!doctype html public "-//w3c//dtd html 4.0 transitional//en"\r
3    "http://www.w3.org/tr/rec-html40/loose.dtd">\r
4 <%@ page contentType="text/html; charset=UTF-8" %>\r
5 <%@ include file="../common/common.jsp" %>\r
6 <%@ page import="java.text.*" %>\r
7 <%@ page import="com.lavans.lacoder.model.*" %>\r
8 <%@ page import="com.lavans.lacoder.model.Attribute" %>\r
9 <%@ page import="com.lavans.lacoder.db.*" %>\r
10 <%!\r
11         /**\r
12          * 基本方針\r
13          * とりあえずプロバイス用に手っ取り早く。\r
14          * 最終的にはjspをやめてファイルに直接書き出す。\r
15          * これをベースクラスとしてインクリメンタルな開発に耐えられるように。\r
16          */\r
17         SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");\r
18         DecimalFormat df = new DecimalFormat("00");\r
19 %>\r
20 <%\r
21         Entity entity = (Entity)request.getAttribute("lacoder.entity");\r
22         Attribute attrId = entity.get(0);\r
23         TypeManager typeMan = entity.getTypeManager();\r
24         String tableName = entity.getTableName();\r
25         boolean isCreateOnly =false;\r
26         if(!StringUtils.isEmpty(request.getParameter("createOnly"))){\r
27 //              logger.info("■□□■"+ request.getParameter("createOnly"));\r
28                 isCreateOnly = Boolean.parseBoolean(request.getParameter("createOnly"));\r
29         }\r
30 //      logger.info("■■■■"+ request.getParameter("createOnly"));\r
31 %>\r
32 \r
33 <%@page import="com.lavans.luz2.commons.StringUtils"%><html lang="ja">\r
34 <head>\r
35 <title>DDL</title>\r
36 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\r
37 <LINK href="red.css" rel="stylesheet" type="text/css">\r
38 </head>\r
39 <body text="#000000" leftmargin="10" topmargin="10" marginwidth="10" marginheight="10">\r
40 <pre>\r
41 <% if(!isCreateOnly){ %>DROP TABLE <%= tableName %>;<% } %>\r
42 \r
43 CREATE TABLE <%= tableName %> (\r
44 <%\r
45         logger.info("CREATE TABLE");\r
46         for(int i=0; i<entity.size(); i++){\r
47                 Attribute attr = entity.get(i);\r
48 %>      <%= attr.getConstName().toUpperCase() +"        "+ attr.getDbType().toUpperCase() %>,   -- <%= attr.getTitle() %>\r
49 <%      }\r
50 %>      CONSTRAINT <%= tableName %>_PKEY PRIMARY KEY(\r
51                 <%= StringUtils.toUnderscore(entity.getPrimaryKey()).toUpperCase() %>\r
52     ));\r
53 \r
54 <%\r
55         logger.info("CREATE SEQUENCE");\r
56         for(int i=0; i<entity.size(); i++){\r
57                 Attribute attr = entity.get(i);\r
58                 if(attr.isSequence()){\r
59 %><%= typeMan.getSequenceSql(entity) %>\r
60 <%                      break;\r
61                 }\r
62         }\r
63 \r
64         if(entity.hasBackup()){\r
65 %>\r
66 <% if(!isCreateOnly){ %>DROP TABLE <%= tableName %>_BAK;<% } %>\r
67 \r
68 CREATE TABLE <%= tableName %>_BAK (\r
69         BACKUP_ID <%= typeMan.getSequenceType() %>,\r
70         BACKUP_DELETE_DATETIME <%= typeMan.getDbType("Date") %>,\r
71 <%\r
72         logger.info("CREATE BACKUP TABLE");\r
73         for(int i=0; i<entity.size(); i++){\r
74                 Attribute attr = entity.get(i);\r
75 %>      <%= attr.getConstName().toUpperCase() +"        "+ attr.getDbType().toUpperCase() %>,   -- <%= attr.getTitle() %>\r
76 <%      }\r
77 %>      CONSTRAINT <%= tableName %>_BAK_PKEY PRIMARY KEY(\r
78                 <%= StringUtils.toUnderscore(entity.getPrimaryKey()).toUpperCase() %>\r
79     ));\r
80 <%= typeMan.getSequenceSql(tableName +"_BAK") %>\r
81 \r
82 <%\r
83         }\r
84         if(!isCreateOnly){\r
85                 logger.info("INSERT");\r
86 \r
87         for(int j=1; j<31; j++){\r
88 %>INSERT INTO <%= tableName %> VALUES(<%\r
89         //logger.info("INSERT");\r
90         String officeName = entity.getName()+df.format(j);\r
91         if(attrId.isSequence()){\r
92                 out.print(typeMan.getNextval(attrId));\r
93         }else if(attrId.getJavaType().equals("int")){\r
94 //              out.print("1");\r
95                 out.print(""+j);\r
96         }else{\r
97                 out.print("'"+officeName+"'");\r
98         }\r
99 \r
100         for(int i=1; i<entity.size(); i++){\r
101                 Attribute attr = entity.get(i);\r
102                 if(attr.getName().equals("delete_flg")){\r
103                         out.print(", false");\r
104                 }else if(attr.isEnum()){\r
105                         out.print(", '"+attr.getName()+df.format(j)+"'");\r
106                 }else if(attr.getJavaType().equals("int")){\r
107                         out.print(", "+1);\r
108 //                      out.print(", "+j);\r
109                 }else if(attr.getJavaType().equals("boolean")){\r
110                         out.print(", true");\r
111                 }else if(attr.getName().equals("pass")){\r
112                         out.print(", 'test'");\r
113                 }else if(attr.getName().equals("tel")){\r
114                         out.print(", '03-1234-5678'");\r
115                 }else if(attr.getName().equals("fax")){\r
116                         out.print(", '03-2345-6789'");\r
117                 }else if(attr.getName().equals("zip")){\r
118                         out.print(", '123-4567'");\r
119                 }else if(attr.getName().equals("url")){\r
120                         out.print(", 'http://www."+ officeName +".com'");\r
121                 }else if(attr.getName().contains("mail")){\r
122                         out.print(", 'mail"+ df.format(j)+"@"+officeName+".com'");\r
123                 }else if(attr.getName().equals("insert_date")){\r
124                         out.print(", "+ typeMan.getCurrentTime());\r
125                 }else if(attr.getName().equals("insert_user")){\r
126                         out.print(", 'SYSTEM'");\r
127                 }else if(attr.getName().equals("update_date")){\r
128                         out.print(", null");\r
129                 }else if(attr.getName().equals("update_user")){\r
130                         out.print(", null");\r
131                 }else if(attr.getJavaType().equals("Date")){\r
132                         out.print(", "+ typeMan.getCurrentTime());\r
133                 }else{\r
134                         out.print(", '"+attr.getTitle()+df.format(j)+"'");\r
135                 }\r
136         }\r
137 %>);\r
138 <%              if(typeMan instanceof OracleDialect) { %>/<%    } %>\r
139 <%      } // for()\r
140         } // if(!isCreateOnly)%>\r
141 </pre>\r
142 <!--\r
143 <%= debugStr %>\r
144 -->\r
145 </body>\r
146 \r