aegida-console / db / migrations / 003_external_user_profiles.sql
003_external_user_profiles.sql
Raw
ALTER TABLE users ALTER COLUMN password_hash DROP NOT NULL;
ALTER TABLE users ADD COLUMN external_user_id bigint UNIQUE;
ALTER TABLE users ADD COLUMN login text;
ALTER TABLE users ADD COLUMN full_name text;
ALTER TABLE users ADD COLUMN position text;
ALTER TABLE users ADD COLUMN first_name text;
ALTER TABLE users ADD COLUMN last_name text;
ALTER TABLE users ADD COLUMN middle_name text NOT NULL DEFAULT '';
ALTER TABLE users ADD COLUMN roles jsonb NOT NULL DEFAULT '[]'::jsonb;

ALTER TABLE users ADD CONSTRAINT external_user_profiles_complete CHECK (
  external_user_id IS NULL OR (
    email IS NOT NULL AND login IS NOT NULL AND full_name IS NOT NULL AND
    position IS NOT NULL AND first_name IS NOT NULL AND last_name IS NOT NULL AND
    roles IS NOT NULL
  )
);