======= Purpose ======= ``oracreate`` prints the SQL of all objects in an Oracle database schema in a way that can be used to recreate the schema (i.e. objects will be ordered so that no errors happen for non-existant objects during script execution). ``oracreate`` can also be used to actually recreate the schema. ======= Options ======= ``oracreate`` supports the following options: ``connectstring`` An Oracle connectstring. ``-v``, ``--verbose`` (``false``, ``no``, ``0``, ``true``, ``yes`` or ``1``) Produces output (on stderr) while the database is read or written. ``-c``, ``--color`` (``yes``, ``no`` or ``auto``) Should the output (when the ``-v`` option is used) be colored? If ``auto`` is specified (the default) then the output is colored if stderr is a terminal. ``-s``, ``--seqcopy`` (``false``, ``no``, ``0``, ``true``, ``yes`` or ``1``) Outputs ``CREATE SEQUENCE`` statements for the existing sequences that have the current value of the sequence as the starting value (otherwise the sequences will restart with their initial value). ``-x``, ``--execute`` (connectstring) When the ``-x`` argument is given the SQL script isn't printed on stdout but executed in the database specfied as the ``-x`` argument. ``-k``, ``--keepjunk`` (``false``, ``no``, ``0``, ``true``, ``yes`` or ``1``) If true, database objects that have ``$`` or ``SYS_EXPORT_SCHEMA_`` in their name will be skipped (otherwise these objects will be included). ``-i``, ``--ignore`` (``false``, ``no``, ``0``, ``true``, ``yes`` or ``1``) If true, any exception that occurs while the database is read or written will be ignored. ``--format`` (``sql`` or ``pysql``) If ``--execute`` is not given, this determines the output format: Plain SQL, or PySQL which can be piped into ``ll.pysql``. ``--include`` (regexp) Only include objects in the output if their name contains the regular expression. ``--exclude`` (regexp) Exclude objects from the output if their name contains the regular expression. ======== Examples ======== Print the content of the database schema ``user@db``: $ oracreate user/pwd@db >db.sql Copy the database schema ``user@db`` to ``user2@db2``: $ oracreate user/pwd@db -x user2/pwd2@db2 -v ================================= def ``main``​(``args``=``None``): =================================