SVN commit 618278 by freitag: fixed database creation on startup M +5 -3 database/create_schema.sql M +7 -7 kange.kdevelop M +10 -1 src/kraftdb.cpp --- trunk/playground/office/kraft/database/create_schema.sql #618277:618278 @@ -1,7 +1,7 @@ -DROP DATABASE IF EXISTS kraft; -CREATE DATABASE kraft DEFAULT CHARACTER SET "utf8"; +# DROP DATABASE IF EXISTS kraft; +# CREATE DATABASE kraft DEFAULT CHARACTER SET "utf8"; -use kraft; +# use kraft; CREATE TABLE preisArten ( @@ -225,3 +225,5 @@ INSERT INTO kraftsystem ( dbschemaversion ) VALUES ( 1 ); +# message Database created. + --- trunk/playground/office/kraft/kange.kdevelop #618277:618278 @@ -12,7 +12,7 @@ . false - + kdevsnippet kdevfilelist @@ -78,11 +78,11 @@ libtool - - - - - + + + + + true false false @@ -139,7 +139,7 @@ 250 - + set m_,_ theValue --- trunk/playground/office/kraft/src/kraftdb.cpp #618277:618278 @@ -236,9 +236,18 @@ if( KMessageBox::warningYesNo( parent, i18n( "The Kraft System Table was not found in database %1." " Do you want me to rebuild the database?\n" - "WARNING: ALL YOUR DATA WILL BE DESTROYED!").arg( KatalogSettings::dbFile() ), + "WARNING: ALL YOUR DATA WILL BE DESTROYED!") + .arg( KatalogSettings::dbFile() ), i18n("Database Rebuild") ) == KMessageBox::Yes ) { emit statusMessage( i18n( "Creating Database..." ) ); + + if ( m_db->tables().size() > 0 ) { + QString allTables = QString( "DROP TABLE %1;" ).arg( m_db->tables().join( ", " ) ); + kdDebug() << "Erasing all tables " << allTables << endl; + QSqlQuery q; + q.exec( allTables ); + } + int allCmds = 0; int goodCmds = playSqlFile( "create_schema.sql", allCmds ); if ( goodCmds == allCmds ) {