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"
        ENCODING 'UTF8'
        LC_COLLATE = 'en_US.UTF-8'
        LC_CTYPE = 'en_US.UTF-8';

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

    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;',
    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',
    quote_names     => 1,
    sqlite_unicode  => 1,

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

    on_connect_do   => 'PRAGMA synchronous = OFF',