(OEDBHelper db)
| 38 | } |
| 39 | |
| 40 | public List<String> createTable(OEDBHelper db) { |
| 41 | Log.d(TAG, "SQLHelper->createTable()"); |
| 42 | List<String> queries = new ArrayList<String>(); |
| 43 | String table = modelToTable(db.getModelName()); |
| 44 | if (!mTables.contains(table)) { |
| 45 | mTables.add(table); |
| 46 | StringBuffer sql = new StringBuffer(); |
| 47 | sql.append("CREATE TABLE IF NOT EXISTS "); |
| 48 | sql.append(table); |
| 49 | sql.append(" ("); |
| 50 | for (OEColumn col : db.getModelColumns()) { |
| 51 | if (col.getName().equals("id") |
| 52 | || col.getName().equals("oea_name")) { |
| 53 | continue; |
| 54 | } |
| 55 | if (col.getType() instanceof OETypeHelper) { |
| 56 | sql.append(col.getName()); |
| 57 | sql.append(" "); |
| 58 | sql.append(((OETypeHelper) col.getType()).getType()); |
| 59 | sql.append(", "); |
| 60 | } |
| 61 | if (col.getType() instanceof OEManyToOne) { |
| 62 | OEManyToOne manyToOne = (OEManyToOne) col.getType(); |
| 63 | List<String> many2one = createTable(manyToOne.getDBHelper()); |
| 64 | for (String query : many2one) { |
| 65 | queries.add(query); |
| 66 | } |
| 67 | sql.append(col.getName()); |
| 68 | sql.append(" "); |
| 69 | sql.append(((OETypeHelper) OEFields.integer()).getType()); |
| 70 | sql.append(", "); |
| 71 | |
| 72 | } |
| 73 | if (col.getType() instanceof OEOneToMany) { |
| 74 | OEOneToMany oneToMany = (OEOneToMany) col.getType(); |
| 75 | List<String> one2many = createTable(oneToMany.getDBHelper()); |
| 76 | for (String query : one2many) { |
| 77 | queries.add(query); |
| 78 | } |
| 79 | } |
| 80 | if (col.getType() instanceof OEManyToMany) { |
| 81 | OEManyToMany manyTomany = (OEManyToMany) col.getType(); |
| 82 | List<String> many2many = createTable(manyTomany |
| 83 | .getDBHelper()); |
| 84 | for (String query : many2many) { |
| 85 | queries.add(query); |
| 86 | queries.add(createMany2ManyRel(db.getModelName(), |
| 87 | manyTomany.getDBHelper().getModelName())); |
| 88 | } |
| 89 | } |
| 90 | } |
| 91 | sql.append(defaultColumns()); |
| 92 | sql.deleteCharAt(sql.lastIndexOf(",")); |
| 93 | sql.append(");"); |
| 94 | queries.add(sql.toString()); |
| 95 | Log.d("SQLHelper", "Table created : " + table); |
| 96 | } |
| 97 | return queries; |
no test coverage detected