diff options
author | Badlop <badlop@process-one.net> | 2011-03-10 19:47:14 +0100 |
---|---|---|
committer | Badlop <badlop@process-one.net> | 2011-03-10 20:29:04 +0100 |
commit | 102dabdefcbb5c5d56b744ff359bb822a1e91314 (patch) | |
tree | 0e77e3539fb81885a04444e0eddb6b7c39719759 /src | |
parent | fix PEP broadcasting (thanks to Karim Gemayel)(EJAB-1411) (diff) |
Only attempt to migrate an old ODBC table if it still exists
Diffstat (limited to 'src')
-rw-r--r-- | src/gen_storage_migration.erl | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/gen_storage_migration.erl b/src/gen_storage_migration.erl index d965f7450..1e58a0179 100644 --- a/src/gen_storage_migration.erl +++ b/src/gen_storage_migration.erl @@ -137,8 +137,13 @@ migrate_odbc1(Host, Tables, {OldTablesColumns, MigrateFun}) -> {[OldTable | _] = OldTables, [OldColumns | _] = OldColumnsAll} = lists:unzip(OldTablesColumns), OldTablesA = [list_to_atom(Table) || Table <- OldTables], - ColumnsT = [odbc_table_columns_t(OldTable1) || OldTable1 <- OldTables], - migrate_odbc2(Host, Tables, OldTable, OldTables, OldColumns, OldColumnsAll, OldTablesA, ColumnsT, MigrateFun). + case is_table_exists(OldTable, odbc) of + true -> + ColumnsT = [odbc_table_columns_t(OldTable1) || OldTable1 <- OldTables], + migrate_odbc2(Host, Tables, OldTable, OldTables, OldColumns, OldColumnsAll, OldTablesA, ColumnsT, MigrateFun); + false -> + ignored + end. migrate_odbc2(Host, Tables, OldTable, OldTables, OldColumns, OldColumnsAll, OldTablesA, ColumnsT, MigrateFun) when ColumnsT == OldColumnsAll -> @@ -236,3 +241,10 @@ odbc_table_columns_t(Table) -> Columns2 end. +is_table_exists(Table, odbc) -> + case catch ejabberd_odbc:sql_query_t("SELECT COUNT(*) FROM " ++ Table) of + {selected, _, _} -> + true; + _ -> + false + end. |