Похоже, вы не можете собирать таблицы из postgresql обратно в R, поэтому ваше сравнение должно происходить в sql.
Я бы сделал следующее:
- определить текстовые строкидля генерации таблиц 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