•  » Beta testing
  •  » BSF for people who want to conserve their 1.3.2 database

#1 2004-11-17 10:56:15

vimages
Member
2004-03-27
2116

BSF for people who want to conserve their 1.3.2 database

here are the modification to make on you actual database

Changement dans la base de données

de 1.3.2 à 1.4

A)dans «categories » :
ajouter un champ « commentable » , type : enum('true','false'), pas d’attribut, null : non, defaut : true.

Changer une clé : id_uppercat
nom : categories_i2, type : index

B)dans « comments » :
      pour le champ « date », remplacer le type int par datetime, attrributs : vide, null : non, defaut : 0000-00-00 00:00:00

C)dans « config » :
      tout effacer
Créer un champ « param » , type : varchar(40), null : non
Créer un champ « value » , type : varchar(255), null : oui, defaut : null,
Créer un champ « comment » , type : varchar(255), null : oui, defaut : null

clé: primary, type : primary, cardinalité : 25 ?????, champ : param

D) dans « favorite »
     Changer la clé
Nom : primary, type : primary , champ : user_id et images_id

E)dans « history »
Pour le champ « date », type : datetime, 0000-00-00 00:00:00
Supprimer les clés et créer une nouvelle
Nom : primary, type : primary, champ : date

Remarque : mysql a refusé le nom “primary” et a accepté le nom “date” pour la clé.

F)dans « image_category »
Pour la clé « primary » , champs : image_id et category_id.
Changer le nom de la clé « category_id » pour : image_category_i1, champ : image_id.
Changer le nom de la clé « image_id » pour : image_category_i2 , champ : category_id.

G)dans « images »
Changer pour le champ « tn_ext » type : vachar(4).
Créer champ « representative_ext » , type : varchar(4), null : oui, defaut : null.
Créer champ « date_metadata_update » , type : date, null : oui , defaut : null.
Créer champ « average_rate » , type : float(5,2), attribut : unsigned, null : oui, default : null.
Créer champ "path", type : varchar(255), null : non.

Remplacer les clés
Créer 5 clés :
Nom: primary, type : primary, champ : id.
Nom: images_i2, type : index, champ : date_available.
Nom: images_i1, type : index, champ : storage_category_id.
Nom: images_i3, type : index, champ : average_rate.
Nom: images_i4, type : index, champ : hit.


H)créer une table « rate ».
Champ : user_id, type smallint(5) , unsigned, null : non, defaut : 0.
Champ : element_id, type : mediumint(8), unsigned, null : non, defaut : 0.
Champ : rate, type : tinyint(2), unsigned, null : non, defaut : 0.

Clé ; primary, primary, champs : user_id et elements_id

       
I)dans “site”
Changer la clé “galleries_url”
Nom : sites_ui1, type : unique, champ : galleries_url.

J) dans « users »
Supprimer le champ « long_period ».
Changer clé « username » :
Nom : users_ui1.

Last edited by vimages (2004-11-17 11:07:12)

Offline

 

#2 2004-11-17 13:29:04

plg
Piwigo Team
Nantes, France, Europe
2002-04-05
14087

Re: BSF for people who want to conserve their 1.3.2 database

Code:

$ ./mysqldiff -u=$MYSQL_USER -p=$MYSQL_PASS db:pwg-1_3_2 db:pwg-bsf
## mysqldiff 0.33
##
## Run on Wed Nov 17 13:28:22 2004
## Options: password=xxx, user=root
##
## ---   db: pwg-1_3_2 (user=root)
## +++   db: pwg-bsf (user=root)

ALTER TABLE phpwebgallery_categories CHANGE COLUMN site_id site_id tinyint(4) unsigned default '1'; # was tinyint(4) unsigned NOT NULL default '1'
ALTER TABLE phpwebgallery_categories ADD COLUMN commentable enum('true','false') NOT NULL default 'true';
ALTER TABLE phpwebgallery_categories DROP INDEX id_uppercat; # was INDEX (id_uppercat)
ALTER TABLE phpwebgallery_categories ADD INDEX categories_i2 (id_uppercat);
ALTER TABLE phpwebgallery_comments CHANGE COLUMN date date datetime NOT NULL default '0000-00-00 00:00:00'; # was int(11) unsigned NOT NULL default '0'
ALTER TABLE phpwebgallery_config DROP COLUMN nb_comment_page; # was tinyint(4) NOT NULL default '10'
ALTER TABLE phpwebgallery_config DROP COLUMN max_user_listbox; # was tinyint(3) unsigned NOT NULL default '10'
ALTER TABLE phpwebgallery_config DROP COLUMN upload_available; # was enum('true','false') NOT NULL default 'false'
ALTER TABLE phpwebgallery_config DROP COLUMN upload_maxheight_thumbnail; # was smallint(5) unsigned NOT NULL default '100'
ALTER TABLE phpwebgallery_config DROP COLUMN mail_notification; # was enum('true','false') NOT NULL default 'false'
ALTER TABLE phpwebgallery_config DROP COLUMN upload_maxwidth_thumbnail; # was smallint(5) unsigned NOT NULL default '150'
ALTER TABLE phpwebgallery_config DROP COLUMN show_comments; # was enum('true','false') NOT NULL default 'true'
ALTER TABLE phpwebgallery_config DROP COLUMN session_id_size; # was tinyint(3) unsigned NOT NULL default '4'
ALTER TABLE phpwebgallery_config DROP COLUMN mail_webmaster; # was varchar(255) NOT NULL default ''
ALTER TABLE phpwebgallery_config DROP COLUMN log; # was enum('true','false') NOT NULL default 'false'
ALTER TABLE phpwebgallery_config DROP COLUMN session_time; # was tinyint(3) unsigned NOT NULL default '30'
ALTER TABLE phpwebgallery_config DROP COLUMN comments_validation; # was enum('true','false') NOT NULL default 'false'
ALTER TABLE phpwebgallery_config DROP COLUMN upload_maxheight; # was smallint(5) unsigned NOT NULL default '600'
ALTER TABLE phpwebgallery_config DROP COLUMN upload_maxwidth; # was smallint(5) unsigned NOT NULL default '800'
ALTER TABLE phpwebgallery_config DROP COLUMN session_keyword; # was varchar(255) default NULL
ALTER TABLE phpwebgallery_config DROP COLUMN prefix_thumbnail; # was varchar(10) default 'TN-'
ALTER TABLE phpwebgallery_config DROP COLUMN webmaster; # was varchar(255) NOT NULL default ''
ALTER TABLE phpwebgallery_config DROP COLUMN authorize_cookies; # was enum('true','false') NOT NULL default 'false'
ALTER TABLE phpwebgallery_config DROP COLUMN comments_forall; # was enum('true','false') NOT NULL default 'false'
ALTER TABLE phpwebgallery_config DROP COLUMN access; # was enum('free','restricted') default 'free'
ALTER TABLE phpwebgallery_config DROP COLUMN upload_maxfilesize; # was smallint(5) unsigned NOT NULL default '150'
ALTER TABLE phpwebgallery_config ADD COLUMN value varchar(255) default NULL;
ALTER TABLE phpwebgallery_config ADD COLUMN param varchar(40) NOT NULL default '';
ALTER TABLE phpwebgallery_config ADD COLUMN comment varchar(255) default NULL;
ALTER TABLE phpwebgallery_config ADD PRIMARY KEY (param);
ALTER TABLE phpwebgallery_config TYPE=MyISAM COMMENT='configuration table'; # was TYPE=MyISAM
ALTER TABLE phpwebgallery_favorites DROP INDEX user_id; # was INDEX (user_id,image_id)
ALTER TABLE phpwebgallery_favorites ADD PRIMARY KEY (user_id,image_id);
ALTER TABLE phpwebgallery_history CHANGE COLUMN date date datetime NOT NULL default '0000-00-00 00:00:00'; # was int(11) NOT NULL default '0'
ALTER TABLE phpwebgallery_history ADD PRIMARY KEY (date);
ALTER TABLE phpwebgallery_image_category DROP INDEX image_id; # was INDEX (image_id)
ALTER TABLE phpwebgallery_image_category DROP INDEX category_id; # was INDEX (category_id)
ALTER TABLE phpwebgallery_image_category ADD INDEX image_category_i1 (image_id);
ALTER TABLE phpwebgallery_image_category ADD INDEX image_category_i2 (category_id);
ALTER TABLE phpwebgallery_images CHANGE COLUMN tn_ext tn_ext varchar(4) default ''; # was char(3) NOT NULL default 'jpg'
ALTER TABLE phpwebgallery_images ADD COLUMN path varchar(255) NOT NULL default '';
ALTER TABLE phpwebgallery_images ADD COLUMN date_metadata_update date default NULL;
ALTER TABLE phpwebgallery_images ADD COLUMN average_rate float(5,2) unsigned default NULL;
ALTER TABLE phpwebgallery_images ADD COLUMN representative_ext varchar(4) default NULL;
ALTER TABLE phpwebgallery_images DROP INDEX storage_category_id; # was INDEX (storage_category_id)
ALTER TABLE phpwebgallery_images ADD INDEX images_i1 (storage_category_id);
ALTER TABLE phpwebgallery_images ADD INDEX images_i2 (date_available);
ALTER TABLE phpwebgallery_images ADD INDEX images_i3 (average_rate);
ALTER TABLE phpwebgallery_images ADD INDEX images_i4 (hit);
ALTER TABLE phpwebgallery_sites DROP INDEX galleries_url; # was UNIQUE (galleries_url)
ALTER TABLE phpwebgallery_sites ADD UNIQUE sites_ui1 (galleries_url);
DROP TABLE phpwebgallery_user_category;

ALTER TABLE phpwebgallery_users DROP COLUMN long_period; # was tinyint(3) unsigned NOT NULL default '14'
ALTER TABLE phpwebgallery_users DROP COLUMN short_period; # was tinyint(3) unsigned NOT NULL default '7'
ALTER TABLE phpwebgallery_users ADD COLUMN recent_period tinyint(3) unsigned NOT NULL default '7';
ALTER TABLE phpwebgallery_users DROP INDEX username; # was UNIQUE (username)
ALTER TABLE phpwebgallery_users ADD UNIQUE users_ui1 (username);
CREATE TABLE phpwebgallery_rate (
  user_id smallint(5) unsigned NOT NULL default '0',
  element_id mediumint(8) unsigned NOT NULL default '0',
  rate tinyint(2) unsigned NOT NULL default '0',
  PRIMARY KEY  (user_id,element_id)
) TYPE=MyISAM;

Offline

 

#3 2004-11-17 13:48:51

vimages
Member
2004-03-27
2116

Re: BSF for people who want to conserve their 1.3.2 database

in first you have a gogo and in second you have a pro.... :o)

Offline

 

#4 2004-11-17 16:52:18

vimages
Member
2004-03-27
2116

Re: BSF for people who want to conserve their 1.3.2 database

requête SQL : 

ALTER TABLE `pwg_history` ADD PRIMARY KEY ( `date` )

MySQL a répondu:


#1062 - Duplicate entry '0000-00-00 00:00:00' for key 1

Offline

 

#5 2004-11-17 18:57:43

plg
Piwigo Team
Nantes, France, Europe
2002-04-05
14087

Re: BSF for people who want to conserve their 1.3.2 database

yes, because you need data update during date column type conversion. Please wait the official migration script, I promise I will write it :-)

Offline

 

#6 2004-11-17 19:38:41

vimages
Member
2004-03-27
2116

Re: BSF for people who want to conserve their 1.3.2 database

ok boss!

I understand....

Offline

 
  •  » Beta testing
  •  » BSF for people who want to conserve their 1.3.2 database

Board footer

Powered by FluxBB