Developers/Library/Database support

From Aimeos documentation

Developers
Other languages:
English 100%


The Aimeos core is database independent and supports several relational databases. For creating the database schema it uses the Doctrine DBAL layer. For retrieving, saving and deleting data, ANSI compatible SQL statements are used which can be replaced by database specific ones if necessary.

Supported DBMS

Fully supported are:

  • MySQL (adapter: "mysql", version: 5.1+)
  • PostgreSQL (adapter: "pgsql", version: 9.5+)

Basic support is included for:

  • IBM DB2 (adapter: "db2")
  • Oracle (adapter: "oracle", version: 8+)
  • Microsoft SQL Server (adapter: "sqlsrv", version: 2005+)
  • SAP SQL Anywhere (adapter: "sqlanywhere", version: 10+)

Basic support means that advanced features like full text support are not implemented because features are missing in the database implementations. Nevertheless, all necessary functionality is available to create and run an e-commerce web site.

Specific DBMS settings

For all database servers other than MySQL you need to set some specific configuration values.

PostgreSQL

For PostgreSQL servers, you need to reset some configuration and configure PostgreSQL specific classes for maximum performance:

  1. 'resource' => array(
  2.     'db' => array(
  3.         'adapter' => 'pgsql',
  4.         'host' => '...',
  5.         'port' => '5432',
  6.         'database' => '...',
  7.         'username' => '...',
  8.         'password' => '...',
  9.         'stmt' => [],
  10.     ),
  11. ),
  12. 'mshop' => array(
  13.     'index' => array(
  14.         'manager' => array(
  15.             'name' => 'PgSQL',
  16.             'attribute' => array(
  17.                 'name' => 'Standard',
  18.             ),
  19.             'catalog' => array(
  20.                 'name' => 'Standard',
  21.             ),
  22.             'price' => array(
  23.                 'name' => 'Standard',
  24.             ),
  25.             'supplier' => array(
  26.                 'name' => 'Standard',
  27.             ),
  28.             'text' => array(
  29.                 'name' => 'PgSQL',
  30.             ),
  31.         ),
  32.     ),
  33. ),

Other DBMS

For all other database servers you need to enforce the standard implementations which don't use platform specific enhancements:

  1. 'resource' => array(
  2.     'db' => array(
  3.         'adapter' => '...', // db2, oci, sqlserv, sqlanywhere
  4.         'host' => '...',
  5.         'port' => '...',
  6.         'database' => '...',
  7.         'username' => '...',
  8.         'password' => '...',
  9.         'stmt' => [],
  10.     ),
  11. ),
  12. 'mshop' => array(
  13.     'index' => array(
  14.         'manager' => array(
  15.             'name' => 'Standard',
  16.             'attribute' => array(
  17.                 'name' => 'Standard',
  18.             ),
  19.             'catalog' => array(
  20.                 'name' => 'Standard',
  21.             ),
  22.             'price' => array(
  23.                 'name' => 'Standard',
  24.             ),
  25.             'text' => array(
  26.                 'name' => 'Standard',
  27.             ),
  28.         ),
  29.     ),
  30. ),