Tidy up schema
These changes produce a neater schema output in sqlite3.
This commit is contained in:
parent
4a70e9233e
commit
b29682cafb
@ -178,147 +178,141 @@ class DBAPI(DbGeneric):
|
|||||||
Create and update schema.
|
Create and update schema.
|
||||||
"""
|
"""
|
||||||
# make sure schema is up to date:
|
# make sure schema is up to date:
|
||||||
self.dbapi.execute("""CREATE TABLE person (
|
self.dbapi.execute('CREATE TABLE person '
|
||||||
handle VARCHAR(50) PRIMARY KEY NOT NULL,
|
'('
|
||||||
given_name TEXT ,
|
'handle VARCHAR(50) PRIMARY KEY NOT NULL, '
|
||||||
surname TEXT ,
|
'given_name TEXT, '
|
||||||
gender_type INTEGER ,
|
'surname TEXT, '
|
||||||
order_by TEXT ,
|
'gender_type INTEGER, '
|
||||||
gramps_id TEXT ,
|
'order_by TEXT, '
|
||||||
blob_data BLOB
|
'gramps_id TEXT, '
|
||||||
);""")
|
'blob_data BLOB'
|
||||||
self.dbapi.execute("""CREATE TABLE family (
|
');')
|
||||||
handle VARCHAR(50) PRIMARY KEY NOT NULL,
|
self.dbapi.execute('CREATE TABLE family '
|
||||||
father_handle VARCHAR(50),
|
'('
|
||||||
mother_handle VARCHAR(50),
|
'handle VARCHAR(50) PRIMARY KEY NOT NULL, '
|
||||||
gramps_id TEXT ,
|
'father_handle VARCHAR(50), '
|
||||||
blob_data BLOB
|
'mother_handle VARCHAR(50), '
|
||||||
);""")
|
'gramps_id TEXT, '
|
||||||
self.dbapi.execute("""CREATE TABLE source (
|
'blob_data BLOB'
|
||||||
handle VARCHAR(50) PRIMARY KEY NOT NULL,
|
');')
|
||||||
order_by TEXT ,
|
self.dbapi.execute('CREATE TABLE source '
|
||||||
gramps_id TEXT ,
|
'('
|
||||||
blob_data BLOB
|
'handle VARCHAR(50) PRIMARY KEY NOT NULL, '
|
||||||
);""")
|
'order_by TEXT, '
|
||||||
self.dbapi.execute("""CREATE TABLE citation (
|
'gramps_id TEXT, '
|
||||||
handle VARCHAR(50) PRIMARY KEY NOT NULL,
|
'blob_data BLOB'
|
||||||
order_by TEXT ,
|
');')
|
||||||
gramps_id TEXT ,
|
self.dbapi.execute('CREATE TABLE citation '
|
||||||
blob_data BLOB
|
'('
|
||||||
);""")
|
'handle VARCHAR(50) PRIMARY KEY NOT NULL, '
|
||||||
self.dbapi.execute("""CREATE TABLE event (
|
'order_by TEXT, '
|
||||||
handle VARCHAR(50) PRIMARY KEY NOT NULL,
|
'gramps_id TEXT, '
|
||||||
gramps_id TEXT ,
|
'blob_data BLOB'
|
||||||
blob_data BLOB
|
');')
|
||||||
);""")
|
self.dbapi.execute('CREATE TABLE event '
|
||||||
self.dbapi.execute("""CREATE TABLE media (
|
'('
|
||||||
handle VARCHAR(50) PRIMARY KEY NOT NULL,
|
'handle VARCHAR(50) PRIMARY KEY NOT NULL, '
|
||||||
order_by TEXT ,
|
'gramps_id TEXT, '
|
||||||
gramps_id TEXT ,
|
'blob_data BLOB'
|
||||||
blob_data BLOB
|
');')
|
||||||
);""")
|
self.dbapi.execute('CREATE TABLE media '
|
||||||
self.dbapi.execute("""CREATE TABLE place (
|
'('
|
||||||
handle VARCHAR(50) PRIMARY KEY NOT NULL,
|
'handle VARCHAR(50) PRIMARY KEY NOT NULL, '
|
||||||
order_by TEXT ,
|
'order_by TEXT, '
|
||||||
gramps_id TEXT ,
|
'gramps_id TEXT, '
|
||||||
blob_data BLOB
|
'blob_data BLOB'
|
||||||
);""")
|
');')
|
||||||
self.dbapi.execute("""CREATE TABLE repository (
|
self.dbapi.execute('CREATE TABLE place '
|
||||||
handle VARCHAR(50) PRIMARY KEY NOT NULL,
|
'('
|
||||||
gramps_id TEXT ,
|
'handle VARCHAR(50) PRIMARY KEY NOT NULL, '
|
||||||
blob_data BLOB
|
'order_by TEXT, '
|
||||||
);""")
|
'gramps_id TEXT, '
|
||||||
self.dbapi.execute("""CREATE TABLE note (
|
'blob_data BLOB'
|
||||||
handle VARCHAR(50) PRIMARY KEY NOT NULL,
|
');')
|
||||||
gramps_id TEXT ,
|
self.dbapi.execute('CREATE TABLE repository '
|
||||||
blob_data BLOB
|
'('
|
||||||
);""")
|
'handle VARCHAR(50) PRIMARY KEY NOT NULL, '
|
||||||
self.dbapi.execute("""CREATE TABLE tag (
|
'gramps_id TEXT, '
|
||||||
handle VARCHAR(50) PRIMARY KEY NOT NULL,
|
'blob_data BLOB'
|
||||||
order_by TEXT ,
|
');')
|
||||||
blob_data BLOB
|
self.dbapi.execute('CREATE TABLE note '
|
||||||
);""")
|
'('
|
||||||
|
'handle VARCHAR(50) PRIMARY KEY NOT NULL, '
|
||||||
|
'gramps_id TEXT, '
|
||||||
|
'blob_data BLOB'
|
||||||
|
');')
|
||||||
|
self.dbapi.execute('CREATE TABLE tag '
|
||||||
|
'('
|
||||||
|
'handle VARCHAR(50) PRIMARY KEY NOT NULL, '
|
||||||
|
'order_by TEXT, '
|
||||||
|
'blob_data BLOB'
|
||||||
|
');')
|
||||||
# Secondary:
|
# Secondary:
|
||||||
self.dbapi.execute("""CREATE TABLE reference (
|
self.dbapi.execute('CREATE TABLE reference '
|
||||||
obj_handle VARCHAR(50),
|
'('
|
||||||
obj_class TEXT,
|
'obj_handle VARCHAR(50), '
|
||||||
ref_handle VARCHAR(50),
|
'obj_class TEXT, '
|
||||||
ref_class TEXT
|
'ref_handle VARCHAR(50), '
|
||||||
);""")
|
'ref_class TEXT'
|
||||||
self.dbapi.execute("""CREATE TABLE name_group (
|
');')
|
||||||
name VARCHAR(50) PRIMARY KEY NOT NULL,
|
self.dbapi.execute('CREATE TABLE name_group '
|
||||||
grouping TEXT
|
'('
|
||||||
);""")
|
'name VARCHAR(50) PRIMARY KEY NOT NULL, '
|
||||||
self.dbapi.execute("""CREATE TABLE metadata (
|
'grouping TEXT'
|
||||||
setting VARCHAR(50) PRIMARY KEY NOT NULL,
|
');')
|
||||||
value BLOB
|
self.dbapi.execute('CREATE TABLE metadata '
|
||||||
);""")
|
'('
|
||||||
self.dbapi.execute("""CREATE TABLE gender_stats (
|
'setting VARCHAR(50) PRIMARY KEY NOT NULL, '
|
||||||
given_name TEXT,
|
'value BLOB'
|
||||||
female INTEGER,
|
');')
|
||||||
male INTEGER,
|
self.dbapi.execute('CREATE TABLE gender_stats '
|
||||||
unknown INTEGER
|
'('
|
||||||
);""")
|
'given_name TEXT, '
|
||||||
|
'female INTEGER, '
|
||||||
|
'male INTEGER, '
|
||||||
|
'unknown INTEGER'
|
||||||
|
');')
|
||||||
## Indices:
|
## Indices:
|
||||||
self.dbapi.execute("""CREATE INDEX
|
self.dbapi.execute('CREATE INDEX person_order_by '
|
||||||
person_order_by ON person(order_by);
|
'ON person(order_by);')
|
||||||
""")
|
self.dbapi.execute('CREATE INDEX person_gramps_id '
|
||||||
self.dbapi.execute("""CREATE INDEX
|
'ON person(gramps_id);')
|
||||||
person_gramps_id ON person(gramps_id);
|
self.dbapi.execute('CREATE INDEX person_surname '
|
||||||
""")
|
'ON person(surname);')
|
||||||
self.dbapi.execute("""CREATE INDEX
|
self.dbapi.execute('CREATE INDEX person_given_name '
|
||||||
person_surname ON person(surname);
|
'ON person(given_name);')
|
||||||
""")
|
self.dbapi.execute('CREATE INDEX source_order_by '
|
||||||
self.dbapi.execute("""CREATE INDEX
|
'ON source(order_by);')
|
||||||
person_given_name ON person(given_name);
|
self.dbapi.execute('CREATE INDEX source_gramps_id '
|
||||||
""")
|
'ON source(gramps_id);')
|
||||||
self.dbapi.execute("""CREATE INDEX
|
self.dbapi.execute('CREATE INDEX citation_order_by '
|
||||||
source_order_by ON source(order_by);
|
'ON citation(order_by);')
|
||||||
""")
|
self.dbapi.execute('CREATE INDEX citation_gramps_id '
|
||||||
self.dbapi.execute("""CREATE INDEX
|
'ON citation(gramps_id);')
|
||||||
source_gramps_id ON source(gramps_id);
|
self.dbapi.execute('CREATE INDEX media_order_by '
|
||||||
""")
|
'ON media(order_by);')
|
||||||
self.dbapi.execute("""CREATE INDEX
|
self.dbapi.execute('CREATE INDEX media_gramps_id '
|
||||||
citation_order_by ON citation(order_by);
|
'ON media(gramps_id);')
|
||||||
""")
|
self.dbapi.execute('CREATE INDEX place_order_by '
|
||||||
self.dbapi.execute("""CREATE INDEX
|
'ON place(order_by);')
|
||||||
citation_gramps_id ON citation(gramps_id);
|
self.dbapi.execute('CREATE INDEX place_gramps_id '
|
||||||
""")
|
'ON place(gramps_id);')
|
||||||
self.dbapi.execute("""CREATE INDEX
|
self.dbapi.execute('CREATE INDEX tag_order_by '
|
||||||
media_order_by ON media(order_by);
|
'ON tag(order_by);')
|
||||||
""")
|
self.dbapi.execute('CREATE INDEX reference_ref_handle '
|
||||||
self.dbapi.execute("""CREATE INDEX
|
'ON reference(ref_handle);')
|
||||||
media_gramps_id ON media(gramps_id);
|
self.dbapi.execute('CREATE INDEX family_gramps_id '
|
||||||
""")
|
'ON family(gramps_id);')
|
||||||
self.dbapi.execute("""CREATE INDEX
|
self.dbapi.execute('CREATE INDEX event_gramps_id '
|
||||||
place_order_by ON place(order_by);
|
'ON event(gramps_id);')
|
||||||
""")
|
self.dbapi.execute('CREATE INDEX repository_gramps_id '
|
||||||
self.dbapi.execute("""CREATE INDEX
|
'ON repository(gramps_id);')
|
||||||
place_gramps_id ON place(gramps_id);
|
self.dbapi.execute('CREATE INDEX note_gramps_id '
|
||||||
""")
|
'ON note(gramps_id);')
|
||||||
self.dbapi.execute("""CREATE INDEX
|
self.dbapi.execute('CREATE INDEX reference_obj_handle '
|
||||||
tag_order_by ON tag(order_by);
|
'ON reference(obj_handle);')
|
||||||
""")
|
|
||||||
self.dbapi.execute("""CREATE INDEX
|
|
||||||
reference_ref_handle ON reference(ref_handle);
|
|
||||||
""")
|
|
||||||
|
|
||||||
self.dbapi.execute("""CREATE INDEX
|
|
||||||
family_gramps_id ON family(gramps_id);
|
|
||||||
""")
|
|
||||||
self.dbapi.execute("""CREATE INDEX
|
|
||||||
event_gramps_id ON event(gramps_id);
|
|
||||||
""")
|
|
||||||
self.dbapi.execute("""CREATE INDEX
|
|
||||||
repository_gramps_id ON repository(gramps_id);
|
|
||||||
""")
|
|
||||||
self.dbapi.execute("""CREATE INDEX
|
|
||||||
note_gramps_id ON note(gramps_id);
|
|
||||||
""")
|
|
||||||
|
|
||||||
self.dbapi.execute("""CREATE INDEX
|
|
||||||
reference_obj_handle ON reference(obj_handle);
|
|
||||||
""")
|
|
||||||
self.rebuild_secondary_fields()
|
self.rebuild_secondary_fields()
|
||||||
|
|
||||||
def close_backend(self):
|
def close_backend(self):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user