diff --git a/migration/20.03/2003.sql b/migration/20.03/2003.sql
index ecb32fad0ca575b56ec5a843d87787e99504dfc6..d10ecc031ffacda0b25eee4de7c3864a1e978d98 100644
--- a/migration/20.03/2003.sql
+++ b/migration/20.03/2003.sql
@@ -236,12 +236,36 @@ DO $$ BEGIN
 	  ALTER TABLE tags ADD COLUMN id serial NOT NULL;
 	  UPDATE tags SET id = tag_id;
       ALTER TABLE tags DROP COLUMN IF EXISTS tag_id;
+
+      ALTER TABLE tags DROP COLUMN IF EXISTS description;
+	  ALTER TABLE tags ADD COLUMN description TEXT;
+      ALTER TABLE tags DROP COLUMN IF EXISTS parent_id;
+      ALTER TABLE tags ADD COLUMN parent_id INT;
+      ALTER TABLE tags DROP COLUMN IF EXISTS creation_date;
+      ALTER TABLE tags ADD COLUMN creation_date TIMESTAMP;
+      ALTER TABLE tags DROP COLUMN IF EXISTS links;
+      ALTER TABLE tags ADD COLUMN links jsonb DEFAULT cast('[]' as jsonb);
+      ALTER TABLE tags DROP COLUMN IF EXISTS usage;
+      ALTER TABLE tags ADD COLUMN usage TEXT;
   END IF;
 END$$;
 SELECT setval('tags_id_seq', (SELECT MAX(id) from tags));
 
 DROP TABLE IF EXISTS tags_entities;
 
+DROP TABLE IF EXISTS resources_tags;
+CREATE TABLE resources_tags
+(
+    id SERIAL NOT NULL,
+    res_id INT,
+    tag_id INT,
+    CONSTRAINT resources_tags_id_pkey PRIMARY KEY (id)
+)
+WITH (OIDS=FALSE);
+INSERT INTO resources_tags (res_id, tag_id) SELECT res_id, tag_id FROM tag_res;
+
+DROP TABLE IF EXISTS tag_res;
+
 /* DOCTYPES */
 DO $$ BEGIN
   IF (SELECT count(attname) FROM pg_attribute WHERE attrelid = (SELECT oid FROM pg_class WHERE relname = 'mlb_doctype_ext')) > 0 THEN
diff --git a/sql/structure.sql b/sql/structure.sql
index 741a560d485e69fe3d528af687c96acd7e114cb2..5c69b53b1a5a2f24db02105a79e72b7f688c3728 100755
--- a/sql/structure.sql
+++ b/sql/structure.sql
@@ -901,10 +901,24 @@ CREATE TABLE tags
   id serial NOT NULL,
   label character varying(128) NOT NULL,
   entity_id_owner character varying(32),
+  description text,
+  parent_id INT,
+  creation_date timestamp,
+  links jsonb,
+  usage text,
   CONSTRAINT tags_id_pkey PRIMARY KEY (id)
 )
 WITH (OIDS=FALSE);
 
+CREATE TABLE resources_tags
+(
+    id SERIAL NOT NULL,
+    res_id INT,
+    tag_id INT,
+    CONSTRAINT resources_tags_id_pkey PRIMARY KEY (id)
+)
+WITH (OIDS=FALSE);
+
 CREATE TABLE tag_res
 (
   res_id bigint NOT NULL,