Added gender
This commit is contained in:
@@ -164,6 +164,7 @@ export const ensureSchema = async (database: DatabaseClient = db) => {
|
||||
name VARCHAR(120) NOT NULL,
|
||||
tag_id VARCHAR(80) NOT NULL,
|
||||
species VARCHAR(120) NOT NULL,
|
||||
gender VARCHAR(16) NOT NULL DEFAULT 'unknown',
|
||||
date_of_birth DATE,
|
||||
gotcha_day DATE,
|
||||
chart_color VARCHAR(7) NOT NULL DEFAULT '#cb3a35',
|
||||
@@ -175,6 +176,7 @@ export const ensureSchema = async (database: DatabaseClient = db) => {
|
||||
|
||||
ALTER TABLE birds
|
||||
ADD COLUMN IF NOT EXISTS workspace_id INTEGER NOT NULL DEFAULT 1,
|
||||
ADD COLUMN IF NOT EXISTS gender VARCHAR(16) NOT NULL DEFAULT 'unknown',
|
||||
ADD COLUMN IF NOT EXISTS date_of_birth DATE,
|
||||
ADD COLUMN IF NOT EXISTS gotcha_day DATE,
|
||||
ADD COLUMN IF NOT EXISTS chart_color VARCHAR(7) NOT NULL DEFAULT '#cb3a35',
|
||||
@@ -222,5 +224,23 @@ export const ensureSchema = async (database: DatabaseClient = db) => {
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_vet_visits_bird_visited_on
|
||||
ON vet_visits (bird_id, visited_on DESC);
|
||||
|
||||
DO $$
|
||||
BEGIN
|
||||
IF EXISTS (
|
||||
SELECT 1
|
||||
FROM information_schema.columns
|
||||
WHERE table_name = 'birds'
|
||||
AND column_name = 'is_female'
|
||||
) THEN
|
||||
UPDATE birds
|
||||
SET gender = CASE
|
||||
WHEN is_female IS TRUE THEN 'female'
|
||||
WHEN is_female IS FALSE THEN 'male'
|
||||
ELSE gender
|
||||
END
|
||||
WHERE gender = 'unknown';
|
||||
END IF;
|
||||
END $$;
|
||||
`);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user