The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Interchange6::Schema::Manual::DatabaseSupport - Details of database engine support for Interchange6

MySQL

MySQL databases should be created with UTF8 encoding and appropriate collation for your local, for example:

    CREATE DATABASE my_shop_db
        DEFAULT CHARACTER SET utf8
        DEFAULT COLLATE utf8_general_ci;

The following Connection attributes are recommended as a minimum for MySQL:

    mysql_enable_utf8 => 1,
    on_connect_call   => 'set_strict_mode',
    quote_names       => 1,

YAML-formatted configuration example for Dancer::Plugin::DBIC:

  DBIC:
    default:
      dsn: "dbi:mysql:database=mydb;mysql_socket=/tmp/mysql.sock"
      user: myuser
      password: mypassword
      schema_class: Interchange6::Schema
      options:
        mysql_enable_utf8: 1
        on_connect_call: set_strict_mode
        quote_names: 1

PostgreSQL

PostgreSQL databases should be created with UT8 encoding, for example:

    createdb -E UTF8 my_shop_db

The following Connection attributes are recommended as a minimum for PostgreSQL:

    on_connect_do  => 'SET client_min_messages=WARNING;',
    quote_names    => 1,

YAML-formatted configuration example for Dancer::Plugin::DBIC:

  DBIC:
    default:
      dsn: dbi:Pg:dbname=mydb
      user: myuser
      password: mypassword
      schema_class: Interchange6::Schema
      options:
        on_connect_do: 'SET client_min_messages=WARNING;'
        pg_enable_utf8: 1
        quote_names: 1

SQLite

Although we support SQLite in as much that all tests are run against it we do not recommend its use in a production environment.

The following Connection attributes are recommended as a minimum for SQLite:

    on_connect_call => 'use_foreign_keys',
    sqlite_unicode  => 1,
    quote_names     => 1,

In addition the following attribute can be useful for test use only for greatly improved performance:

    on_connect_do   => 'PRAGMA synchronous = OFF',