| 30 | |
| 31 | |
| 32 | def build_sql(entry, conn): |
| 33 | name = entry["table"]["table_name"] |
| 34 | columns = ",".join( |
| 35 | [f"`{escape(column['name'], conn)}` TEXT" for column in entry["table"]["table_info"]["columns"]]) |
| 36 | column_names = ",".join( |
| 37 | [f"`{escape(column['name'], conn)}`" for column in entry["table"]["table_info"]["columns"]]) |
| 38 | items = [] |
| 39 | for row in entry["table"]["table_info"]["rows"]: |
| 40 | item = "(" |
| 41 | for col in row: |
| 42 | item += f"'{escape(col, conn)}'," |
| 43 | item = item[:-1] + ")" |
| 44 | items.append(item) |
| 45 | items = ",".join(items) |
| 46 | sql = f"""CREATE DATABASE IF NOT EXISTS `{name}`; |
| 47 | USE `{name}`; |
| 48 | CREATE TABLE IF NOT EXISTS `{name}` ({columns}); |
| 49 | INSERT INTO `{name}` ({column_names}) VALUES {items}; |
| 50 | COMMIT; |
| 51 | """ |
| 52 | return sql |
| 53 | |
| 54 | |
| 55 | def escape(string: str, conn): |