extern crate oracledb;
fn main() -> Result<(), oracledb::Error> {
let test_config = oracledb::get_test_config();
println!("Creating test schema {}...", test_config.user);
let admin_conn = oracledb::connect(test_config.admin_config.clone())?;
let drop_statement = format!("drop user {} cascade", test_config.user);
let _ = admin_conn.execute(&drop_statement, &[]);
let create_statement = format!(
"create user {} identified by {}",
test_config.user, test_config.password
);
admin_conn.execute(&create_statement, &[])?;
let grant_statement = format!(
r#"
grant
create session,
create table,
create procedure,
create type,
create view,
select any dictionary,
change notification,
unlimited tablespace,
ctxapp
to {}
"#,
test_config.user
);
admin_conn.execute(&grant_statement, &[])?;
println!("Schema successfully created.");
Ok(())
}