在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规则:数据库:创建,成功地在项目根目录下创建了一个test_project.db文件。
但是在创建一些实体之后,然后运行app/console规则:schema:update --force应该在数据库文件上创建表,但是它没有这样做,file显示为空,大小为O字节。
请注意,使用任何其他PDO驱动程序都可以很好地工作,但不能与SQLite配合使用。
我还尝试在database_name参数中使用db文件的完整路径,但无济于事,数据库仍然不会更新。
作为参考,这里是config.yml文件的doctrine部分:
doctrine:
dbal:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
user: %database_user%
password: %database_password%
charset: UTF8
有什么办法可以解决这个问题吗?是否缺少配置?在symfony2项目的官方文档中没有说明什么吗?
发布于 2016-05-25 15:52:30
下面是我在执行完symfony new myapp
之后让SQLite正常工作所需要的东西:
在app/config.yml
中:
# Doctrine Configuration
doctrine:
dbal:
driver: pdo_sqlite
path: "%database_path%"
在app/config/parameters.yml
中
parameters:
database_path: "%kernel.root_dir%/db/myapp_%kernel.environment%.db3"
...
接下来,我可以做一个composer install
,创建一个新的实体,它就可以工作了。
发布于 2013-02-02 08:54:10
我发现,如果我在config.yml中添加一个指向database_name的路径行,sqlite似乎会选择它,而MySQL似乎并没有抱怨。
doctrine:
dbal:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
path: %database_name%
user: %database_user%
password: %database_password%
charset: UTF8
这意味着您仍然可以将所有数据库信息保存在参数文件中,您不需要根据所使用的数据库进行单独的配置。
https://stackoverflow.com/questions/9551931
复制相似问题