
USE fetchmetrics;

SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning 
FROM INFORMATION_SCHEMA.TABLES 
WHERE 
        TABLE_SCHEMA = 'fetchmetrics' 
    AND TABLE_NAME = 'DOG_Command_Button_Link'
;

CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Command_Button_Link (
	  id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY
	, id_command INT NOT NULL
    , CONSTRAINT FK_DOG_Command_Button_Link_id_command
		FOREIGN KEY (id_command)
        REFERENCES fetchmetrics.DOG_Command(id_command)
	, id_button_shape INT NOT NULL
    , CONSTRAINT FK_DOG_Command_Button_Link_id_button_shape
		FOREIGN KEY (id_button_shape)
        REFERENCES fetchmetrics.DOG_Button_Shape(id_button_shape)
	, id_button_colour INT NOT NULL
    , CONSTRAINT FK_DOG_Command_Button_Link_id_button_colour
		FOREIGN KEY (id_button_colour)
        REFERENCES fetchmetrics.DOG_Colour(id_colour)
	, id_button_icon INT
    , CONSTRAINT FK_DOG_Command_Button_Link_id_button_icon
		FOREIGN KEY (id_button_icon)
        REFERENCES fetchmetrics.DOG_Button_Icon(id_button_icon)
	, id_location INT NOT NULL
    , CONSTRAINT FK_DOG_Command_Button_Link_id_location
		FOREIGN KEY (id_location)
        REFERENCES fetchmetrics.DOG_Location(id_location)
    , active BIT NOT NULL DEFAULT 1
	, created_on DATETIME
    , id_user_created_by INT
    , CONSTRAINT FK_DOG_Command_Button_Link_id_user_created_by
        FOREIGN KEY (id_user_created_by)
        REFERENCES fetchmetrics.DOG_User(id_user)
	, id_change_set INT
	, CONSTRAINT FK_DOG_Command_Button_Link_id_change_set
		FOREIGN KEY (id_change_set) 
		REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set)
);
