我一直在玩R中的数据库查询,这些查询是在带有PostGIS扩展的Postgres数据库上执行的。这意味着我使用了一些没有R等价物的PostGIS函数。如果不是因为这个,我可能只是在本地测试数据帧上执行相同的函数,而不是在数据库连接上执行相同的函数,但是由于PostGIS函数,这是不可能的。
是否有一种简单的方法可以在测试数据库中创建测试数据并对其运行查询并评估结果?我有一个R不直接支持的WKB列,因此我甚至不确定简单的copy_to
是否可以将字符向量插入到几何体列中,更不用说解决潜在的关键点约束了。本地sqlite数据库无法工作,因为它不提供这些功能。
有人找到了解决这个问题的可行办法吗?
听起来您无法将表从postgresql收集回R,因此必须在sql中进行比较。
我会这样做:
为了在sql中比较两个表是否相同,我将遵循本问题或本问题中的方法。
这看起来像这样:
# Define text strings
create_string = 'CREATE TABLE test1 (code VARCHAR(4), size INTEGER);'
insert_string = 'INSERT INTO test1 (code, size) VALUES ('AAA', 123);'
# Execute strings
db_con = create_connection()
dbExecute(db_con, create_string)
dbExecute(db_con, insert_string)
# optional validate new table with contents now exists in datbase
# run code
test1 = tbl(db_con, "test1")
test2 = my_function_to_test_that_does_nothing(test1)
# comparison
num_records_not_in_both = test1 %>%
full_join(test2, by = colnames(test2), suffix = c("_1","_2") %>%
filter(is.na(id_1) | is.na(id_2)) %>%
ungroup() %>%
summarise(num = n()) %>%
collect()
require(num_records_not_in_both == 0)
# optional delete test functions
问题内容: 在转向PDO之前,我通过连接字符串在PHP中创建了SQL查询。如果遇到数据库语法错误,则可以回显最终的SQL查询字符串,然后在数据库中自己尝试,然后对其进行调整,直到修复错误,然后将其重新放入代码中。 预先准备的PDO语句更快,更好,更安全,但是有一件令我困扰的事情:当最终查询发送到数据库时,我再也看不到。当我在Apache日志或自定义日志文件中收到有关语法的错误时(我将错误记录在一个
我想知道是否有一种方法可以确定在数据库上启用了PostGis。 我试图用我的开发机器复制我的正式服,我不确定我的开发机器上的数据库是否启用了PostGIS或postgis_topology或两者兼而有之。 我试着四处寻找解决方案,但什么也想不出。 这方面的任何建议都会有帮助。
我想要一个在Spring数据的帮助下创建的存储库(例如)。我不熟悉spring-data(但不熟悉spring),我使用本教程。我选择的处理数据库的技术是JPA2.1和Hibernate。问题是我不知道如何为这样的存储库编写单元测试。 让我们以方法为例。由于我正在进行测试--首先,我应该为它编写一个单元测试--这就是我遇到三个问题的地方: > 首先,如何将的模拟注入到不存在的接口实现中?Sprin
简介 Laravel提供了各种有用的工具,以便更容易地测试数据库驱动的应用程序。 首先, 你可以使用 assertDatabaseHas 辅助函数, 来断言数据库中是否存在与指定条件互相匹配的数据。 例如,如果我们想验证 users 数据表中是否存在 email 值为 sally@example.com的数据, 你可以安装以下方式来测试: public function testDatabase(
我试图将一个几何体对象存储到我的postgist数据库中,该数据库有一个带有几何体列的表。我从另一个带有几何列的表格中得到了几何值,我打印了我之前得到的值,结果没问题。要存储几何体值,我使用下一个函数: 但我总是得到这个错误: 组织。postgresql。util。PSQLException:无法推断用于org实例的SQL类型。波斯吉斯。指向使用带有显式类型值的setObject()指定要使用的类
从下面描述的tsk开始,我在一个看似简单的过程中遇到了无数问题。但首先是一些背景: Windows 10 QGIS 2.18.5 PgAdmin 4(v 2.0) Postgreql 10安装 -Postgreql数据库(托管在运行PostgreSQL 9.6.5的Amazon AWS云上) 我对postgreql和postgis非常陌生,但是在遵循所有基本说明之后,我似乎无法在QGIS中查看任何