Как настроить SQLite в Kohana 3? - PullRequest
       13

Как настроить SQLite в Kohana 3?

4 голосов
/ 25 сентября 2011

Я изо всех сил пытаюсь найти любую информацию о том, как настроить SQLite в Kohana 3.2.В основном мне нужно знать:

  • Что я должен задать имя хоста, базу данных, имя пользователя и пароль (с именем пользователя по умолчанию и без пароля)?

  • Кроме того, как я могу установить путь к файлу базы данных SQLite?

  • Каким должен быть «тип»?Я попытался "sqlite", но я получаю сообщение об ошибке Class 'Database_Sqlite' not found.

Это мои текущие параметры конфигурации:

'exportedDatabase' => array
(
    'type'       => 'sqlite',
    'connection' => array(
        /**
         * The following options are available for MySQL:
         *
         * string   hostname     server hostname, or socket
         * string   database     database name
         * string   username     database username
         * string   password     database password
         * boolean  persistent   use persistent connections?
         *
         * Ports and sockets may be appended to the hostname.
         */
        'hostname'   => $hostname,
        'database'   => $database,
        'username'   => $username,
        'password'   => $password,
        'persistent' => FALSE,
    ),
    'table_prefix' => '',
    'charset'      => 'utf8',
    'caching'      => FALSE,
    'profiling'    => TRUE,
),

Ответы [ 3 ]

5 голосов
/ 03 октября 2011

Вы можете использовать PDO через модуль базы данных. Правильный способ настройки выглядит следующим образом:

'exportedDatabase' => array(
    'type'       => 'pdo',
    'connection' => array(
        'dsn'        => 'sqlite:/path/to/file.sqlite',
        'persistent' => FALSE,
    ),
    'table_prefix' => '',
    'charset'      => NULL, /* IMPORTANT- charset 'utf8' breaks sqlite(?) */ 
    'caching'      => FALSE,
    'profiling'    => TRUE,
),

Одним из недостатков использования PDO в Kohana является то, что в ORM вы должны указывать все поля вручную в вашей модели (вы должны делать это в любом случае по соображениям производительности) из-за того, как разные системы баз данных обрабатывают перечисление полей таблицы.

Существует также реальная база данных модуль, созданный Banditron. Вы должны помнить, что это НЕ вставная замена для модуля базы данных, и поэтому ORM Коханы будет не работать с ним. Кроме того, он довольно аккуратный и имеет широкую поддержку систем баз данных, отличных от SQLite.

3 голосов
/ 29 сентября 2011

Как я выяснил, Kohana 3.x на самом деле не поддерживает SQLite.Для него есть неподдерживаемый модуль, и, насколько я могу судить, он не работает.

Хотя использовать PDO достаточно просто, а синтаксис почти такой же, как у ORM Коханы:

$db = new PDO('sqlite:' . $dbFilePath);

$query = $db->prepare('CREATE TABLE example (id INTEGER PRIMARY KEY, something TEXT)');
$query->execute();

$query = $db->prepare("INSERT INTO example (id, something) VALUES (:id, :something)");
$query->bindParam(':id', $id);
$query->bindParam(':something', $something);
$query->execute();
0 голосов
/ 25 сентября 2011

Я не использую Kohana, но это должно работать:

'hostname' => /path/to/your/sql/lite/file.sqlite
'database' => ''
'username' => ''
'password' => ''
...