current_location_id INTEGER, -- recursif
latitude FLOAT,
longitude FLOAT,
- is_authoritative BOOLEAN NOT NULL DEFAULT 0,
+ is_authoritative BOOLEAN NOT NULL DEFAULT FALSE,
INDEX(type),
FOREIGN KEY(current_location_id) REFERENCES locations (id) ON DELETE SET NULL ON UPDATE CASCADE,
CREATE TABLE location_aliases (
location_id INTEGER NOT NULL,
alias VARCHAR(150) NOT NULL,
- is_authoritative BOOLEAN NOT NULL DEFAULT 0,
+ is_authoritative BOOLEAN NOT NULL DEFAULT FALSE,
PRIMARY KEY(location_id, alias),
FOREIGN KEY(location_id) REFERENCES locations (id)
location_id INTEGER NOT NULL,
ancestor_location_id INTEGER NOT NULL,
is_direct BOOLEAN NOT NULL DEFAULT FALSE,
+ is_authoritative BOOLEAN NOT NULL DEFAULT FALSE,
PRIMARY KEY(location_id, ancestor_location_id),
INDEX(is_direct),
old_code VARCHAR(250) UNIQUE NOT NULL,
code VARCHAR(250) UNIQUE, -- Doit être unique mais peut être inconnu
approx_duration INT NOT NULL DEFAULT 0,
- recorded_from_date DATE NOT NULL DEFAULT 0,
- recorded_to_date DATE NOT NULL DEFAULT 0,
+ -- Ces champs de date sont déclarés comme pouvant être nuls pour
+ -- compatibilité avec Django, car ce dernier ne prend pas en charge
+ -- la valeur MySQL '0000-00-00'
+ recorded_from_date DATE,
+ recorded_to_date DATE,
location_id INTEGER,
location_comment VARCHAR(250) NOT NULL DEFAULT '',
ethnic_group_id INTEGER,
parent_id = self.getone("SELECT id FROM locations WHERE name = %s", (parentName,))
if id != parent_id:
self.stats['relations'] += self.replace("INSERT INTO location_relations "+
- "(location_id, ancestor_location_id, is_direct) "+
- "VALUE (%s, %s, %s)",
- (id, parent_id, 1))
+ "(location_id, ancestor_location_id, is_direct, is_authoritative) "+
+ "VALUE (%s, %s, %s, %s)",
+ (id, parent_id, 1, 1))
for hname in historic_names:
self.stats['historical names'] += self.replace("INSERT INTO locations "+