text: CREATE TABLE IF NOT EXISTS vets (
    id SERIAL,
    first_name VARCHAR(30),
    last_name VARCHAR(30),
    CONSTRAINT pk_vets PRIMARY KEY (id)
  );
  
  CREATE INDEX IF NOT EXISTS idx_vets_last_name ON vets (last_name);
  
  ALTER SEQUENCE vets_id_seq RESTART WITH 100;
  
  
  CREATE TABLE IF NOT EXISTS specialties (
    id SERIAL,
    name VARCHAR(80),
    CONSTRAINT pk_specialties PRIMARY KEY (id)
  );
  
  CREATE INDEX IF NOT EXISTS idx_specialties_name ON specialties (name);
  
  ALTER SEQUENCE specialties_id_seq RESTART WITH 100;
  
  
  CREATE TABLE IF NOT EXISTS vet_specialties (
    vet_id INT NOT NULL,
    specialty_id INT NOT NULL,
    FOREIGN KEY (vet_id) REFERENCES vets(id),
    FOREIGN KEY (specialty_id) REFERENCES specialties(id),
    CONSTRAINT unique_ids UNIQUE (vet_id,specialty_id)
  );
  
  
  
  CREATE TABLE IF NOT EXISTS types (
    id SERIAL,
    name VARCHAR(80),
    CONSTRAINT pk_types PRIMARY KEY (id)
  );
  
  CREATE INDEX IF NOT EXISTS idx_types_name ON types (name);
  
  ALTER SEQUENCE types_id_seq RESTART WITH 100;
  
  CREATE TABLE IF NOT EXISTS owners (
    id SERIAL,
    first_name VARCHAR(30),
    last_name VARCHAR(30),
    address VARCHAR(255),
    city VARCHAR(80),
    telephone VARCHAR(20),
    CONSTRAINT pk_owners PRIMARY KEY (id)
  );
  
  CREATE INDEX IF NOT EXISTS idx_owners_last_name ON owners (last_name);
  
  ALTER SEQUENCE owners_id_seq RESTART WITH 100;
  
  
  CREATE TABLE IF NOT EXISTS pets (
    id SERIAL,
    name VARCHAR(30),
    birth_date DATE,
    type_id INT NOT NULL,
    owner_id INT NOT NULL,
    FOREIGN KEY (owner_id) REFERENCES owners(id),
    FOREIGN KEY (type_id) REFERENCES types(id),
    CONSTRAINT pk_pets PRIMARY KEY (id)
  );
  
  CREATE INDEX IF NOT EXISTS idx_pets_name ON pets (name);
  
  ALTER SEQUENCE pets_id_seq RESTART WITH 100;
  
  
  CREATE TABLE IF NOT EXISTS visits (
    id SERIAL,
    pet_id INT NOT NULL,
    visit_date DATE,
    description VARCHAR(255),
    FOREIGN KEY (pet_id) REFERENCES pets(id),
    CONSTRAINT pk_visits PRIMARY KEY (id)
  );
  
  ALTER SEQUENCE visits_id_seq RESTART WITH 100;
  
  CREATE TABLE IF NOT EXISTS users (
    username VARCHAR(20) NOT NULL ,
    password VARCHAR(20) NOT NULL ,
    enabled boolean NOT NULL DEFAULT true ,
    CONSTRAINT pk_users PRIMARY KEY (username)
  );
  
  CREATE TABLE IF NOT EXISTS roles (
    id SERIAL,
    username varchar(20) NOT NULL,
    role varchar(20) NOT NULL,
    CONSTRAINT pk_roles PRIMARY KEY (id),
    FOREIGN KEY (username) REFERENCES users (username)
  );
  
  -- ALTER TABLE roles ADD CONSTRAINT uni_username_role UNIQUE (role,username);
  ALTER SEQUENCE roles_id_seq RESTART WITH 100;
  