Returns SQL for enum type: CREATE TYPE "job_status" AS ENUM ( 'created', 'running', 'done', 'failure', );
(model: Enum)
| 8 | |
| 9 | @DefaultSQLRenderer.renderer_for(Enum) |
| 10 | def render_enum(model: Enum) -> str: |
| 11 | ''' |
| 12 | Returns SQL for enum type: |
| 13 | |
| 14 | CREATE TYPE "job_status" AS ENUM ( |
| 15 | 'created', |
| 16 | 'running', |
| 17 | 'done', |
| 18 | 'failure', |
| 19 | ); |
| 20 | ''' |
| 21 | |
| 22 | result = comment_to_sql(model.comment) if model.comment else '' |
| 23 | result += f'CREATE TYPE {get_full_name_for_sql(model)} AS ENUM (\n' |
| 24 | enum_body = '\n'.join(f'{indent(DefaultSQLRenderer.render(i), " ")}' for i in model.items) |
| 25 | result += enum_body.rstrip(',') |
| 26 | result += '\n);' |
| 27 | return result |
| 28 | |
| 29 | |
| 30 | @DefaultSQLRenderer.renderer_for(EnumItem) |