Interchange6::Schema::Manual::DatabaseSupport - Details of database engine support for Interchange6
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_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 prevents us from using GROUP BY on PK columns which is a great performance boost for PostgreSQL.
on_connect_call => 'set_strict_mode'
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: RaiseError: 1 PrintError: 1 mysql_enable_utf8: 1 on_connect_do: ["SET SQL_MODE = CONCAT('ANSI,TRADITIONAL,', @@sql_mode)" ,"SET SQL_AUTO_IS_NULL = 0"]
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,
DBIC: default: dsn: dbi:Pg:dbname=mydb user: myuser password: mypassword schema_class: Interchange6::Schema options: RaiseError: 1 PrintError: 1 on_connect_do: 'SET client_min_messages=WARNING;' pg_enable_utf8: 1 quote_names: 1
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',
To install Interchange6::Schema, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Interchange6::Schema
CPAN shell
perl -MCPAN -e shell install Interchange6::Schema
For more information on module installation, please visit the detailed CPAN module installation guide.