[odb-users] create_schema deletes db tables

Per Edin info at peredin.com
Fri Jul 5 09:56:01 EDT 2013


Hmm, does the "table .. not exist" exception occur on already created
databases that have worked before as well?

I haven't used ODB with SQLite yet but if time allows I can take a look at
it this weekend and see if I can reproduce the exception.

/Per



On Fri, Jul 5, 2013 at 3:07 PM, Lidia Kalinovsky <lidia at lemur-soft.com>wrote:

> 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