13

我正在尝试使用 CakePHP 2.0 运行 SQLite3

在这些问题中,我看到在 CakePHP 1.3 中可以做到这一点:
-将 Sqlite3 与 CakePHP 一起使用
-如何将 CakePHP 连接到 SQLite 数据库?

但是,这些解决方案对 CakePHP 2.0 无效。

我配置了文件“database.php”,并在 CakePHP 的起始页上获得了成功。它能够连接到数据库(但我不知道在哪里可以找到 .db3 数据库文件)。

我使用了以下代码:

public $default = array(
    'datasource' => 'Database/Sqlite',
    'persistent' => false,
    'host' => 'localhost',
    'login' => '',
    'password' => '',
    'database' => 'cake_blog_tutorial',
    'prefix' => '',
    //'encoding' => 'utf8',
);

我试图找出:

  1. 我的cake_blog_tutorial.db3文件应该保存在哪里
  2. SQLite3 的数据源是否不同,例如“Database/Sqlite3”?

感谢您的帮助!

4

1 回答 1

18

简而言之,答案是 CakePHP 2.0 中的 Sqlite3 数据库采用如下配置:

public $default = array(
        'datasource' => 'Database/Sqlite',
        'persistent' => false,
        'database' => 'database_name',
        'prefix' => '',
        //'encoding' => 'utf8',
);

然后在 webroot 目录中自动创建 sqlite 文件(除非您在数据库名称前面加上相对路径)。

顺便说一句,您可以通过将数据库名称更改为“:memory:”来使用内存中的 Sqlite 数据库(例如,用于测试目的),例如:

public $default = array(
        'datasource' => 'Database/Sqlite',
        'persistent' => false,
        'database' => ':memory:',
        'prefix' => '',
        //'encoding' => 'utf8',
);
于 2012-04-19T09:23:08.083 回答