Skip to content

Commit

Permalink
Adding code to /extras for copying test database from one server to a…
Browse files Browse the repository at this point in the history
…nother
  • Loading branch information
Admin_mschuemi authored and Admin_mschuemi committed Sep 18, 2023
1 parent 4278904 commit 28258b3
Show file tree
Hide file tree
Showing 2 changed files with 93 additions and 40 deletions.
93 changes: 93 additions & 0 deletions extras/UploadDataToTestServer.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# Copy Eunomia to a test server ------------------------------------------------

# Assumes connectionDetails points to the test server to upload to
databaseSchema <- "eunomia"

library(DatabaseConnector)


connection <- connect(connectionDetails)
renderTranslateExecuteSql(
connection = connection,
sql = "CREATE SCHEMA @database_schema;",
database_schema = databaseSchema
)

eunomiaCd <- Eunomia::getEunomiaConnectionDetails()
eunomiaConn <- connect(eunomiaCd)

tableNames <- getTableNames(eunomiaConn, "main")
for (i in seq_along(tableNames)) {
# for (i in 15:length(tableNames)) {
message(sprintf("Copying table %s", tableNames[i]))
table <- renderTranslateQuerySql(
connection = eunomiaConn,
sql = "SELECT * FROM main.@table_name;",
table_name = tableNames[i])
if (tableNames[i] == "cost") {
colnames(table)[colnames(table) == "REVEUE_CODE_SOURCE_VALUE"] <- "REVENUE_CODE_SOURCE_VALUE"
}
insertTable(
connection = connection,
databaseSchema = databaseSchema,
tableName = tableNames[i],
data = table,
dropTableIfExists = TRUE,
createTable = TRUE,
progressBar = TRUE
)
}

disconnect(connection)
disconnect(eunomiaConn)

# Copy data from one test server to another ------------------------------------

library(DatabaseConnector)
options(andromedaTempFolder = "d:/andromedaTemp")

fromConnection <- connect(
dbms = "sql server",
user = Sys.getenv("CDM5_SQL_SERVER_USER"),
password = URLdecode(Sys.getenv("CDM5_SQL_SERVER_PASSWORD")),
server = Sys.getenv("CDM5_SQL_SERVER_SERVER")
)
fromDatabaseSchema <- Sys.getenv("CDM5_SQL_SERVER_CDM_SCHEMA")

toConnection <- connect(
dbms = "postgresql",
user = Sys.getenv("CDM5_POSTGRESQL_USER"),
password = URLdecode(Sys.getenv("CDM5_POSTGRESQL_PASSWORD")),
server = Sys.getenv("CDM5_POSTGRESQL_SERVER")
)
toDatabaseSchema <- Sys.getenv("CDM5_POSTGRESQL_CDM_SCHEMA")

tableNames <- getTableNames(fromConnection, fromDatabaseSchema)
for (i in seq_along(tableNames)) {
# for (i in 15:length(tableNames)) {
message(sprintf("Copying table %s", tableNames[i]))
andromeda <- Andromeda::andromeda()
renderTranslateQuerySqlToAndromeda(
connection = fromConnection,
sql = "SELECT * FROM @database_schema.@table_name;",
andromeda = andromeda,
andromedaTableName = tableNames[i],
database_schema = fromDatabaseSchema,
table_name = tableNames[i])
insertTable(
connection = toConnection,
databaseSchema = toDatabaseSchema,
tableName = tableNames[i],
data = andromeda[[tableNames[i]]],
dropTableIfExists = TRUE,
createTable = TRUE,
progressBar = TRUE
)
# querySql(toConnection, "SELECT * FROM cdmv5.condition_era LIMIT 10;")
Andromeda::close(andromeda)
}
toTableNames <- getTableNames(toConnection, toDatabaseSchema)
disconnect(fromConnection)
disconnect(toConnection)


40 changes: 0 additions & 40 deletions extras/UploadEunomiaToTestServer.R

This file was deleted.

0 comments on commit 28258b3

Please sign in to comment.