我创建了使用jdbctemplate的spring boot应用程序,在localhost上一切都很好,但当我将应用程序部署到Heroku并访问endpoint时,我得到了以下信息:
StatementCallback; bad SQL grammar [SELECT id, name, price, image, description FROM products;]; nested exception is org.postgresql.util.PSQLException: ERROR: relation "products" does not exist Position: 49
如果SQL查询不好,那么同一个应用程序如何在本地机器上工作呢?
下面是我使用的jdbcTemplate方法:
public Products getProductsList() {
ArrayList<Product> productsList = new ArrayList<>();
jdbcTemplate.query(
"SELECT id, name, price, image, description FROM public.products;",
(rs, rowNum) -> new Product(rs.getInt("id"), rs.getString("name"), rs.getFloat("price"), rs.getString("image"), rs.getString("description"))
).forEach(product -> productsList.add(product));
return new Products(productsList);
}
您需要使用https://devcenter.heroku.com/articles/running-database-migrations-for-java-apps中描述的迁移框架创建表
我认为您应该在应用程序中输入模式名称。属性文件,如下所示:
spring.jpa.properties.hibernate.default_schema=public
这样写你的问题:
SELECT id, name, price, image, description FROM products;
资料来源:这个答案和这个答案
好的,我修好了。
Heroku添加了它自己的配置到我的项目出于某种原因(插件与postgresql)和它使用的数据库从设置-
我在Heroku CLI中使用这个答案中的命令从我的应用程序中删除heroku数据库。
问题内容: 好的,我有一个非常简单的mysql数据库,但是当我尝试通过mysql-admin运行此查询时,出现奇怪的错误 INSERT INTO自定义报告(研究,类型,模式,选择,描述)VALUES(‘1’,‘2’,‘3’,‘4’,‘5’); 错误: 1064-您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以便在“选择,描述” VALUES(“ 1”,“ 2”,“
我在尝试使用flyway和hibernate为PostgresSql创建表时遇到语法错误的问题。Trip类与其他类没有关系(还没有)。我已经成功地为其他两个类创建了购买和用户,但是这个只是给出了错误。 错误信息: [错误]测试运行:1,失败:0,错误:1,跳过:0,所用时间:3.003秒 SQL状态:42000错误代码:42000消息:SQL语句“CREATE TABLE TRIP(ID BIGI
错误消息: [错误]运行得测试:1,失败:0,错误:1,跳过得:0,运行得时间:3.003s<<<失败!-在org.studentnr.backend.service.userserviceTest[错误]org.studentnr.backend.service.userserviceTest.testCreateUser所用时间:0.004s<<<错误!java.lang.IllegalSta
本文向大家介绍C#调用SQL语句时乘号的用法,包括了C#调用SQL语句时乘号的用法的使用技巧和注意事项,需要的朋友参考一下 一般来说,在ADO中,我们需要在SQL语句中使用乘法运算,可是添加'*'以后执行程序总是会出错,这是因为‘*'与sql中的‘*'关键字重合了,因此编译就会出错。 解决办法为:将乘法运算放到sql语句外面,将结果放入一个变量中,然后在sql语句中引用即可。 如下示例所示: 希望
我已经将我的flask web应用程序部署到Heroku,Heroku最初使用的是SQLite本地数据库,我的所有命令都可以正常工作。现在,当我部署到Heroku并使用PostgreSQL数据库时,我会遇到一些语法和编程错误,如上图所示。我没有在本地得到这些错误,现在当我部署之后,我得到了这些错误。请告知,我的代码如下: