diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..24e0aab --- /dev/null +++ b/.drone.yml @@ -0,0 +1,24 @@ +# database container deployment +kind: pipeline +name: BD + +steps: + - name: deploy-container-mysql + image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-dockerproxy-clientdrone:latest + environment: + IMAGENAME: mysql + CONTAINERNAME: mysql + COMMAND: create + # OVERWRITE: false + PRIVATE: true + CODEFIRST_CLIENTDRONE_ENV_MYSQL_ROOT_PASSWORD: + from_secret: P@s$w0rd123 + CODEFIRST_CLIENTDRONE_ENV_MYSQL_DATABASE: + from_secret: BDBOB + CODEFIRST_CLIENTDRONE_ENV_MYSQL_USER: + from_secret: bob + CODEFIRST_CLIENTDRONE_ENV_MYSQL_PASSWORD: + from_secret: P@s$w0rd123 + scripts: + - GRANT ALL PRIVILEGES ON *.* TO 'CODEFIRST_CLIENTDRONE_ENV_MYSQL_USER'@'localhost' IDENTIFIED BY 'CODEFIRST_CLIENTDRONE_ENV_MYSQL_PASSWORD'; + - CREATE DATABASE CODEFIRST_CLIENTDRONE_ENV_MYSQL_DATABASE; \ No newline at end of file diff --git a/create.sql b/create.sql new file mode 100644 index 0000000..6d9f83e --- /dev/null +++ b/create.sql @@ -0,0 +1,106 @@ +#Drop all the tables + +DROP TABLE Battle; +DROP TABLE Own; +DROP TABLE Message; +DROP TABLE Belong; +DROP TABLE ConvGroup; +DROP TABLE User; +DROP TABLE Skin; +DROP TABLE Game; + + + + +#Create the User table + +CREATE TABLE User ( + ID char(5) PRIMARY KEY, + Username varchar(20) NOT NULL, + Nationality varchar(20) NOT NULL, + Sex char(1) NOT NULL, + DateOfBirth date NOT NULL, + CurrentBobCoins bigint(255) DEFAULT 0, + TotalBobCoins bigint(255) DEFAULT 0 +); + + + +#Create the Skin table + +CREATE TABLE Skin ( + ID char(5) PRIMARY KEY, + Name varchar(20) UNIQUE NOT NULL, + Image varchar(20) UNIQUE NOT NULL +); + + + +#Create the Own table + +CREATE TABLE Own ( + IDSkin char(5), + IDUser char(5), + CONSTRAINT FK_Skin FOREIGN KEY (IDSkin) REFERENCES User(ID), + CONSTRAINT FK_User FOREIGN KEY (IDUser) REFERENCES Skin(ID), + PRIMARY KEY (IDUser, IDSkin) +); + + + +#Create the Game table + +CREATE TABLE Game ( + ID char(5) PRIMARY KEY, + Name varchar(20) UNIQUE NOT NULL +); + + + +#Create the Match table + +CREATE TABLE Battle ( + ID char(5) PRIMARY KEY, + Winner char(5) NOT NULL, + Loser char(5) NOT NULL, + Game char(5) NOT NULL, + CONSTRAINT Fk_Winner FOREIGN KEY (Winner) REFERENCES User(ID), + CONSTRAINT Fk_Loser FOREIGN KEY (Loser) REFERENCES User(ID), + CONSTRAINT Fk_Game FOREIGN KEY (Game) REFERENCES Game(ID) +); + + + +#Create the Group table + +CREATE TABLE ConvGroup ( + ID char(5) PRIMARY KEY, + Name varchar(20) NOT NULL +); + + + +#Create the Message table + +CREATE TABLE Message ( + ID char(5) PRIMARY KEY, + Message text NOT NULL, + IDSender char(5) NOT NULL, + IDUserReceiver char(5), + IDGroupReceiver char(5), + CONSTRAINT Fk_Sender FOREIGN KEY (IDSender) REFERENCES User(ID), + CONSTRAINT Fk_UsRec FOREIGN KEY (IDUserReceiver) REFERENCES User(ID), + CONSTRAINT Fk_GrRec FOREIGN KEY (IDGroupReceiver) REFERENCES ConvGroup(ID) +); + + + +#Create the Belong Table + +CREATE TABLE Belong ( + IDUser char(5), + IDGroup char(5), + CONSTRAINT Fk_UserID FOREIGN KEY (IDUser) REFERENCES User(ID), + CONSTRAINT Fk_Group FOREIGN KEY (IDGroup) REFERENCES ConvGroup(ID), + PRIMARY KEY (IDUser, IDGroup) +); \ No newline at end of file