如何从 Propel 的 schema.xml 生成兼容 sqlite3 的转储
为了加快单元测试速度,我想使用 SQLite 而不是 MySQL,因此我尝试从 Propel 的 schema.xml 获取与 SQLite 兼容的数据库转储。该应用程序是在 Symfony2 中构建的,config.yml
中的数据库配置如下所示:
propel:
dbal:
driver: sqlite
dsn: sqlite:/tmp/test_db1.sq3
default_connection: db1
connections:
db1:
user: %database_user%
password: %database_password%
dsn: sqlite:/tmp/test_db1.sq3
db2:
user: %database_user%
password: %database_password%
dsn: sqlite:/tmp/test_db2.sq
但是,命令 app/console propel:build-sql
始终生成MySQL 特定的转储无法加载到 SQLite 中。
我还从properties.ini 中删除了对MySQL 的任何引用,但仍然没有得到正确的结果。
有什么想法吗?
To speed up the unit tests I want to use SQLite instead of MySQL, so I'm trying to get a SQLite-compatible dump of the databases from Propel's schema.xml. The application is built in Symfony2, and this is how the db configuration in config.yml
looks like:
propel:
dbal:
driver: sqlite
dsn: sqlite:/tmp/test_db1.sq3
default_connection: db1
connections:
db1:
user: %database_user%
password: %database_password%
dsn: sqlite:/tmp/test_db1.sq3
db2:
user: %database_user%
password: %database_password%
dsn: sqlite:/tmp/test_db2.sq
However, the command app/console propel:build-sql
is always generating MySQL-specific dumps that fail to load into SQLite.
I've also removed any references to MySQL from properties.ini and still don't get it right.
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
每个连接名称都必须与数据库名称相关,因此如果声明连接
c1
,则需要有一个带有属性name="c1"
的数据库标记(在您的schema.xml
中)。假设您有以下
schema.xml
:在
config.yml
中写入以下部分:在
config_test.yml
中写入以下定义:然后,如果您想为测试生成 SQL 语句,只需运行:
为您的开发环境生成 SQL 语句:
或
Each connection name has to be related to a database name, so if you declare a connection
c1
, you need to have a database tag with the attributename="c1"
(in yourschema.xml
).Assuming you have the following
schema.xml
:Write the following section in your
config.yml
:And the following definition in
config_test.yml
:Then, if you want to generate SQL statements for your tests, just run:
To generate SQL statements for your dev env:
or