CREATE TABLE IF NOT EXISTS attribution ( id INTEGER PRIMARY KEY, title TEXT NOT NULL, link TEXT, accessed TIMESTAMP WITH TIME ZONE, year_created INTEGER, place_published TEXT, author TEXT, publisher TEXT, created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, updated TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS creator_attribution ( id INTEGER PRIMARY KEY, creator_id INTEGER NOT NULL REFERENCES creator(id) ON UPDATE CASCADE ON DELETE CASCADE, attribution_id INTEGER NOT NULL REFERENCES attribution(id) ON UPDATE CASCADE ON DELETE CASCADE, created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, updated TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS series_attribution ( id INTEGER PRIMARY KEY, series_id INTEGER NOT NULL REFERENCES series(id) ON UPDATE CASCADE ON DELETE CASCADE, attribution_id INTEGER NOT NULL REFERENCES attribution(id) ON UPDATE CASCADE ON DELETE CASCADE, created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, updated TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP );