[odb-users] create_schema deletes db tables
Lidia Kalinovsky
lidia at lemur-soft.com
Fri Jul 5 09:07:56 EDT 2013
Yes, I did.
In this case data is not deleted.
But sometimes ( I haven't realized when exactly ) I get "table .. not
exist" exception if create_schema is not called.
On Fri, Jul 5, 2013 at 3:58 PM, Per Edin <info at peredin.com> wrote:
> Have you tried NOT calling create_schema when opening an existing
> database? One can assume that the schema already exists when an existing DB
> is opened.
>
> /Per
>
>
>
> On Fri, Jul 5, 2013 at 2:17 PM, Lidia Kalinovsky <lidia at lemur-soft.com>wrote:
>
>> Hello
>>
>> When I try to open existing database, all existing data is deleted just
>> after schema_catalog::create_schema (*db); is called.
>>
>> Could somebody advice ?
>>
>> Code is following ( create_database function provided with examples )
>>
>> auto_ptr<database> db (
>> new odb::sqlite::database (
>> databasename, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE));
>>
>> // Create the database schema. Due to bugs in SQLite foreign key
>> // support for DDL statements, we need to temporarily disable
>> // foreign keys.
>> //
>> {
>> connection_ptr c (db->connection ());
>>
>> c->execute ("PRAGMA foreign_keys=OFF");
>>
>> transaction t (c->begin ());
>> schema_catalog::create_schema (*db);
>> t.commit ();
>>
>> c->execute ("PRAGMA foreign_keys=ON");
>> }
>>
>> return db;
>>
>> --
>> Software integration and outsourcing services,
>> Lemur-Soft, Giv'at Nili
>> Israel, 37825
>> Phone : (+972) 545748325
>> Fax : (+972) 775345383
>> Email : lidia at lemur-soft.com
>> Web: www.lemur-soft.com
>>
>
>
--
Software integration and outsourcing services,
Lemur-Soft, Giv'at Nili
Israel, 37825
Phone : (+972) 545748325
Fax : (+972) 775345383
Email : lidia at lemur-soft.com
Web: www.lemur-soft.com
More information about the odb-users
mailing list