text: /*This script is for the initial setup of the database for this project. It will also reset an active database, and will delete any data from any tables this project uses. The user that is connecting to the database through KNEX must have the appropriate permissions in the database to prevent errors from the server.*/
  
  DROP TABLE IF EXISTS contact_list;
  DROP TABLE IF EXISTS user_list;
  DROP TABLE IF EXISTS knex_test_table;
  
  CREATE TABLE knex_test_table (
      testcolumn TEXT
  );
  
  INSERT INTO knex_test_table (testcolumn)
  	VALUES ('helloknex');
  
  CREATE TABLE user_list (
      user_id INTEGER PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,
      user_username TEXT UNIQUE NOT NULL,
      user_password TEXT NOT NULL,
      user_salt TEXT NOT NULL,
      user_admin BOOLEAN NOT NULL DEFAULT FALSE
  );
  /*Creates a super user so you can interface with the API immidiately. Default password is "defaultPassword1!". Please change the password immidiately after running this script.*/
  INSERT INTO user_list (user_username, user_password, user_salt, user_admin)
      VALUES ('sudo', '$2b$10$W38MTvmV4DTjyXt9kdNhF.n6NRFcK.xjdcV2iozswLbDmXxZyvVhS', '$2b$10$W38MTvmV4DTjyXt9kdNhF.', true);
  
  CREATE TABLE contact_list (
      contact_id integer NOT NULL GENERATED BY DEFAULT AS IDENTITY,
  	user_id integer NOT NULL,
  	contact_first_name TEXT NOT NULL,
  	contact_last_name TEXT NULL,
  	contact_phone_no TEXT NULL,
  	contact_phone_type TEXT NULL,
  	contact_phone2_no TEXT NULL,
  	contact_phone2_type TEXT NULL,
  	contact_phone3_no TEXT NULL,
  	contact_phone3_type TEXT NULL,
  	contact_email TEXT NULL,
      contact_email_type TEXT NULL,
  	contact_email2 TEXT NULL,
      contact_email2_type TEXT NULL,
  	contact_email3 TEXT NULL,
      contact_email3_type TEXT NULL,
  	contact_company TEXT NULL,
  	contact_company_title TEXT NULL,
  	contact_address_street TEXT NULL,
  	contact_address_apt TEXT NULL,
  	contact_address_city TEXT NULL,
  	contact_address_state TEXT NULL,
  	contact_address_zip TEXT NULL,
  	contact_address_type TEXT NULL,
  	contact_address_country TEXT NULL,
  	contact_address2_street TEXT NULL,
  	contact_address2_apt TEXT NULL,
  	contact_address2_city TEXT NULL,
  	contact_address2_state TEXT NULL,
  	contact_address2_zip TEXT NULL,
  	contact_address2_country TEXT NULL,
  	contact_address2_type TEXT NULL,
  	contact_address3_street TEXT NULL,
  	contact_address3_apt TEXT NULL,
  	contact_address3_city TEXT NULL,
  	contact_address3_state TEXT NULL,
  	contact_address3_zip TEXT NULL,
  	contact_address3_country TEXT NULL,
  	contact_address3_type TEXT NULL,
  	contact_skype TEXT NULL,
  	contact_discord TEXT NULL,
  	contact_twitter TEXT NULL,
  	contact_website TEXT NULL,
  	contact_birthday TEXT NULL,
  	contact_relationship TEXT NULL,
  	contact_notes TEXT NULL,
  	CONSTRAINT contact_list_pk PRIMARY KEY (contact_id),
  	CONSTRAINT contact_list_fk FOREIGN KEY (user_id) REFERENCES public.user_list(user_id)
  );
  /* If you are able, I'd reccomend making a specific user for knex to connect with, and granting it access to all the tables. */
  /* This may not be possible on shared databases/psql servers, like Heroku Postgres Hobby. But if you do, uncomment the following commands. */
  
  /*
  GRANT ALL ON TABLE contact_list TO knex;
  GRANT ALL ON TABLE knex_test_table TO knex;
  GRANT ALL ON TABLE user_list TO knex;
  */