CREATE TABLE IF NOT EXISTS spells ( id INTEGER GENERATED ALWAYS AS IDENTITY, name TEXT NOT NULL, school TEXT NOT NULL, level INTEGER NOT NULL, ritual BOOLEAN DEFAULT FALSE, casting_time TEXT NOT NULL, range TEXT NOT NULL, components_verbal BOOLEAN DEFAULT FALSE, components_somatic BOOLEAN DEFAULT FALSE, components_material BOOLEAN DEFAULT FALSE, components_materials_needed TEXT, duration TEXT NOT NULL, classes TEXT[] NOT NULL, sources TEXT[] NOT NULL, tags TEXT[], description TEXT NOT NULL );