Jav*_* C. 23 sqlite symfony doctrine-orm
在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 =
Run Code Online (Sandbox Code Playgroud)
使用app/console doctrine:database:create,在项目根目录下成功创建test_project.db文件.
但是在创建了一些实体之后,然后运行app/console doctrine: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
Run Code Online (Sandbox Code Playgroud)
有没有解决的办法?配置缺失?在symfony2项目的官方文档中没有说明的内容?
pro*_*son 24
根据Doctrine,用于sqlite DBAL配置的元素是:
这也列在Symfony2中Doctrine配置的完整参考中,尽管没有详细说明.
因此,您需要切换配置参数以匹配适用于sqlite的内容.
以下是我需要让SQLite工作的原因symfony new myapp:
在app/config.yml:
# Doctrine Configuration
doctrine:
dbal:
driver: pdo_sqlite
path: "%database_path%"
Run Code Online (Sandbox Code Playgroud)
在app/config/parameters.yml:
parameters:
database_path: "%kernel.root_dir%/db/myapp_%kernel.environment%.db3"
...
Run Code Online (Sandbox Code Playgroud)
接下来我可以做一个composer install,创建一个新的实体,它只是工作.
| 归档时间: |
|
| 查看次数: |
36220 次 |
| 最近记录: |