在Symfony2项目中,您可以在app / config / parameters.ini文件中配置数据库连接.文档规定您可以使用sqlite3 PDO驱动程序.
但配置sqlite不能很好的工作:
[parameters] database_driver = pdo_sqlite database_host = localhost database_port = database_name = test_project.db database_user = root database_password =
使用app / console doctrine:database:create,在项目根目录下成功创建一个test_project.db文件.
但在创建一些实体之后,运行app / console原则:schema:update –force应该在数据库文件上创建表,但是它不会,文件显示为空,O字节大小.
请注意,使用任何其他PDO驱动程序工作正常,但不与SQLite …
我还尝试在database_name参数中使用db文件的完整路径,但无济于事,数据库仍未被更新.
作为参考,这里是config.yml文件的doctrine dbal部分:
doctrine: dbal: driver: %database_driver% host: %database_host% port: %database_port% dbname: %database_name% user: %database_user% password: %database_password% charset: UTF8
有没有解决的办法?配置丢失? symfony2项目的正式文件没有说明什么?
根据
Doctrine,用于sqlite DBAL配置的元素有:
> user(string):连接数据库时要使用的用户名.
> password(string):连接数据库时要使用的密码.
> path(string):数据库文件的文件系统路径.与记忆互斥路径优先.
> memory(boolean):如果SQLite数据库应该在内存(非持久性)中,则为true.与路径相互排斥路径优先.
尽管没有详细说明,这也在Symfony2的reference for Doctrine configuration全部列出.
所以你需要切换你的配置参数来匹配适合sqlite的内容.