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',
on_connect_do => [
q|SET SQL_MODE = CONCAT('ANSI,TRADITIONAL', @@sql_mode)|,
q|SET SQL_AUTO_IS_NULL = 0|,
],
NOTE: we no longer recommend the use of on_connect_call => 'set_strict_mode'
since that also forces MySQL's ONLY_FULL_GROUP_BY mode which breaks compatibility with PostgreSQL.
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,
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,
In addition the following attribute can be useful for test use only for greatly improved performance:
on_connect_do => 'PRAGMA synchronous = OFF',