我们有一个庞大的PHP(HHVM)应用程序。
生产数据库是postgresql
,并且有许多字段,如:userId, accountId.
在pgsql中,字段区分大小写,我们必须引用它们:"accountId", "userId".
对于测试我们想使用sqlite内存数据库,但字段名称在select的结果中都是小写的。
sqlite数据库中的这些字段类似于userid和accountid。
所以对象的属性不一样,造成很多困难。
例如,条目不会有$entry->userId
,而是$entry->userid.
是否有办法不仅包含小写字段名称?
答案 0 :(得分:2)
好吧,它似乎按预期工作:
drop table if exists "MyTable";
create table "MyTable"("MyId" int, "MyStr" text);
insert into "MyTable" values (1, 'str');
select * from "MyTable";
MyId MyStr
---------- ----------
1 str
select sqlite_version();
sqlite_version()
----------------
3.9.1
无论如何,我建议在本地安装Postgres。它们GUI installers.
很简单答案 1 :(得分:0)
可能您最好的选择是修改SQL语句以使用引用的列别名:
SELECT
accountid AS "accountId",
userid AS "userId",
...
FROM
...
所有SQL引擎都支持(几乎?)并使您的语句可移植。
答案 2 :(得分:-2)
没有,但你可以用你的代码模型绑定你的列。有很多数据库可以做到这一点