Py学习  »  DATABASE

如果在查询中使用MySQL函数,则在SQLite下Laravel测试失败

netdjw • 3 年前 • 1410 次点击  

在我的Laravel项目中,我在查询中使用了一些基于MySQL的SQL函数,如下所示:

Post::whereRaw('publish_at < NOW()');
SELECT * FROM posts WHERE publish_at < NOW();

或者这个:

Post::whereRaw('TIMESTAMP(publish_date, publish_time) < NOW()');
SELECT * FROM posts WHERE TIMESTAMP(publish_date, publish_time) < NOW();

这些查询在MySQL db上运行良好,但如果我尝试在SQLite内存数据库上测试它们,它们会失败,因为:

no such function: NOW (SQL: ...)

我想保留MySQL函数的优点,但我不想放弃这些测试,也不想创建其他函数来在测试中使用它。

也许有什么鲜为人知的雄辩功能可以解决这些问题?

你知道我怎样才能让它在两个数据库上都工作吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/133289
 
1410 次点击  
文章 [ 1 ]  |  最新文章 3 年前