refac: rename database connection to postgres
This commit is contained in:
parent
481760ee6e
commit
1b16aff6e5
6 changed files with 20 additions and 20 deletions
|
@ -1,12 +1,12 @@
|
||||||
use crate::config::Config;
|
use crate::config::Config;
|
||||||
use crate::database::DatabaseConnection;
|
use crate::database::PostgresConnection;
|
||||||
use crate::opts::ApplyCommandOpt;
|
use crate::opts::ApplyCommandOpt;
|
||||||
use crate::path::PathBuilder;
|
use crate::path::PathBuilder;
|
||||||
use crate::StdResult;
|
use crate::StdResult;
|
||||||
use std::convert::TryFrom;
|
use std::convert::TryFrom;
|
||||||
|
|
||||||
pub(crate) fn apply_sql(config: Config, opts: ApplyCommandOpt) -> StdResult<()> {
|
pub(crate) fn apply_sql(config: Config, opts: ApplyCommandOpt) -> StdResult<()> {
|
||||||
let mut connection = DatabaseConnection::try_from(&config)?;
|
let mut connection = PostgresConnection::try_from(&config)?;
|
||||||
|
|
||||||
let file_path = PathBuilder::from(config.directory_path())
|
let file_path = PathBuilder::from(config.directory_path())
|
||||||
.append(opts.file_name)
|
.append(opts.file_name)
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
use crate::config::Config;
|
use crate::config::Config;
|
||||||
use crate::database::DatabaseConnection;
|
use crate::database::PostgresConnection;
|
||||||
use crate::migration::Downgrade;
|
use crate::migration::Downgrade;
|
||||||
use crate::StdResult;
|
use crate::StdResult;
|
||||||
use std::convert::TryFrom;
|
use std::convert::TryFrom;
|
||||||
|
|
||||||
pub(crate) fn downgrade_applied_migrations(config: Config) -> StdResult<()> {
|
pub(crate) fn downgrade_applied_migrations(config: Config) -> StdResult<()> {
|
||||||
let mut connection = DatabaseConnection::try_from(&config)?;
|
let mut connection = PostgresConnection::try_from(&config)?;
|
||||||
|
|
||||||
let applied_migrations = connection.applied_migration_names()?;
|
let applied_migrations = connection.applied_migration_names()?;
|
||||||
let migrations = config.migrations()?;
|
let migrations = config.migrations()?;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
use crate::config::Config;
|
use crate::config::Config;
|
||||||
use crate::database::DatabaseConnection;
|
use crate::database::PostgresConnection;
|
||||||
use crate::error::{ErrorKind, StdResult};
|
use crate::error::{ErrorKind, StdResult};
|
||||||
|
|
||||||
const EM_DASH: char = '—';
|
const EM_DASH: char = '—';
|
||||||
|
@ -7,7 +7,7 @@ const EM_DASH: char = '—';
|
||||||
pub(crate) fn print_migration_lists(config: Config) -> StdResult<()> {
|
pub(crate) fn print_migration_lists(config: Config) -> StdResult<()> {
|
||||||
let applied_migrations = match config.database_connection_string() {
|
let applied_migrations = match config.database_connection_string() {
|
||||||
Ok(ref database_connection_string) => {
|
Ok(ref database_connection_string) => {
|
||||||
let mut connection = DatabaseConnection::open(database_connection_string)?;
|
let mut connection = PostgresConnection::open(database_connection_string)?;
|
||||||
let applied_migrations = connection.applied_migration_names()?;
|
let applied_migrations = connection.applied_migration_names()?;
|
||||||
|
|
||||||
println!("Applied migrations:");
|
println!("Applied migrations:");
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
use crate::database::DatabaseConnection;
|
use crate::database::PostgresConnection;
|
||||||
use crate::migration::{Migration, Upgrade};
|
use crate::migration::{Migration, Upgrade};
|
||||||
use crate::Config;
|
use crate::Config;
|
||||||
use crate::StdResult;
|
use crate::StdResult;
|
||||||
use std::convert::TryFrom;
|
use std::convert::TryFrom;
|
||||||
|
|
||||||
pub(crate) fn upgrade_pending_migrations(config: Config) -> StdResult<()> {
|
pub(crate) fn upgrade_pending_migrations(config: Config) -> StdResult<()> {
|
||||||
let mut connection = DatabaseConnection::try_from(&config)?;
|
let mut connection = PostgresConnection::try_from(&config)?;
|
||||||
|
|
||||||
let applied_migration_names = connection.applied_migration_names()?;
|
let applied_migration_names = connection.applied_migration_names()?;
|
||||||
let migrations = config.migrations()?;
|
let migrations = config.migrations()?;
|
||||||
|
|
|
@ -3,22 +3,22 @@ use crate::StdResult;
|
||||||
use postgres::{Client, Error, NoTls};
|
use postgres::{Client, Error, NoTls};
|
||||||
use std::convert::TryFrom;
|
use std::convert::TryFrom;
|
||||||
|
|
||||||
pub struct DatabaseConnection {
|
pub struct PostgresConnection {
|
||||||
client: Client,
|
client: Client,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl TryFrom<&Config> for DatabaseConnection {
|
impl TryFrom<&Config> for PostgresConnection {
|
||||||
type Error = Box<dyn std::error::Error>;
|
type Error = Box<dyn std::error::Error>;
|
||||||
|
|
||||||
fn try_from(config: &Config) -> Result<Self, Self::Error> {
|
fn try_from(config: &Config) -> Result<Self, Self::Error> {
|
||||||
DatabaseConnection::open(&config.database_connection_string()?)
|
PostgresConnection::open(&config.database_connection_string()?)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl DatabaseConnection {
|
impl PostgresConnection {
|
||||||
pub fn open(connection_string: &str) -> StdResult<DatabaseConnection> {
|
pub fn open(connection_string: &str) -> StdResult<PostgresConnection> {
|
||||||
let client = Client::connect(connection_string, NoTls)?;
|
let client = Client::connect(connection_string, NoTls)?;
|
||||||
Ok(DatabaseConnection { client })
|
Ok(PostgresConnection { client })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ pub fn is_migrations_table_not_found(e: &Error) -> bool {
|
||||||
.contains(r#"relation "migrations" does not exist"#)
|
.contains(r#"relation "migrations" does not exist"#)
|
||||||
}
|
}
|
||||||
|
|
||||||
impl DatabaseConnection {
|
impl PostgresConnection {
|
||||||
pub fn apply_sql(&mut self, sql_content: &str) -> Result<(), Error> {
|
pub fn apply_sql(&mut self, sql_content: &str) -> Result<(), Error> {
|
||||||
self.client.batch_execute(sql_content)
|
self.client.batch_execute(sql_content)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
use crate::database::DatabaseConnection;
|
use crate::database::PostgresConnection;
|
||||||
use crate::path::PathBuilder;
|
use crate::path::PathBuilder;
|
||||||
use crate::StdResult;
|
use crate::StdResult;
|
||||||
use std::fs;
|
use std::fs;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
|
|
||||||
pub trait Upgrade {
|
pub trait Upgrade {
|
||||||
fn upgrade(&self, connection: &mut DatabaseConnection) -> StdResult<()>;
|
fn upgrade(&self, connection: &mut PostgresConnection) -> StdResult<()>;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub trait Downgrade {
|
pub trait Downgrade {
|
||||||
fn downgrade(&self, connection: &mut DatabaseConnection) -> StdResult<()>;
|
fn downgrade(&self, connection: &mut PostgresConnection) -> StdResult<()>;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
|
@ -49,7 +49,7 @@ impl Migration {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Upgrade for Migration {
|
impl Upgrade for Migration {
|
||||||
fn upgrade(&self, connection: &mut DatabaseConnection) -> StdResult<()> {
|
fn upgrade(&self, connection: &mut PostgresConnection) -> StdResult<()> {
|
||||||
let content = fs::read_to_string(&self.upgrade_sql)?;
|
let content = fs::read_to_string(&self.upgrade_sql)?;
|
||||||
|
|
||||||
connection.create_migrations_table()?;
|
connection.create_migrations_table()?;
|
||||||
|
@ -61,7 +61,7 @@ impl Upgrade for Migration {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Downgrade for Migration {
|
impl Downgrade for Migration {
|
||||||
fn downgrade(&self, connection: &mut DatabaseConnection) -> StdResult<()> {
|
fn downgrade(&self, connection: &mut PostgresConnection) -> StdResult<()> {
|
||||||
let content = fs::read_to_string(&self.downgrade_sql)?;
|
let content = fs::read_to_string(&self.downgrade_sql)?;
|
||||||
|
|
||||||
connection.apply_sql(&content)?;
|
connection.apply_sql(&content)?;
|
||||||
|
|
Reference in a new issue