---
name: "SQL::Translator::Producer"
section: "3pm"
platform: "linux"
package: "libsql-translator-perl"
version: "1.66-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SQL::Translator::Producer"
---

# SQL::Translator::Producer(3pm)

describes how to write a producer

## NAME

SQL::Translator::Producer - describes how to write a producer

## DESCRIPTION

Producer modules designed to be used with SQL::Translator need to implement a single function, called **produce**.  **produce** will be called with the SQL::Translator object from which it is expected to retrieve the SQL::Translator::Schema object which has been populated by the parser.  It is expected to return a string.

## METHODS

- produce

  - create\_table($table)

  - create\_field($field)

  - create\_view($view)

  - create\_index($index)

  - create\_constraint($constraint)

  - create\_trigger($trigger)

  - alter\_field($from\_field, $to\_field)

  - add\_field($table, $new\_field)

  - drop\_field($table, $old\_field)

  ## AUTHORS

Darren Chamberlain \<darren@cpan.org\>, Ken Y. Clark \<kclark@cpan.org\>.

## SEE ALSO

[**perl**(1)](/perl/1.md), SQL::Translator, SQL::Translator::Schema.
