Page 1 of 1

Impossible de créer la table CONTACT

Posted: 15 Jun 2023, 10:18
by astrogan
Bonjour,
Suite à un changement de version de mon système linux MINT (passage vers la nouvelle LTS), j'ai du installer à nouveau GESTINUX. La création de la base de donnée se déroule à priori sans problème (sur localhost via mysql-5). Les premières tables se créées sans soucis jusqu'à l'erreur suivante:

Vous ne pouvez pas créer une nouvelle base de données sur ce serveur. (CREATE TABLE Contacts(
Id INTEGER AUTO_INCREMENT NOT NULL,
ContactTitleId INTEGER NULL,
FirstName VARCHAR(35) NULL,
MiddleName VARCHAR(35) NULL,
LastName VARCHAR(35) NULL,
Function VARCHAR(35) NULL,
ContactFunction VARCHAR(35) NULL,
EMail VARCHAR(35) NULL,
Phone VARCHAR(35) NULL,
Fax VARCHAR(35) NULL,
MobilePhone VARCHAR(35) NULL,
UpdateDate DATETIME NULL,
UpdateUser VARCHAR(40) NULL,
PRIMARY KEY (Id),
CONSTRAINT Contacts_C1 FOREIGN KEY (ContactTitleId) REFERENCES ContactTitles (Id) ON DELETE RESTRICT ON UPDATE RESTRICT )
DEFAULT CHARSET=utf8 ENGINE=InnoDB)

J'ai réitérer la création à plusieurs reprises (après suppression à la main de la database créée) sans succcès.

Si une solution existe, je suis prenneur.

Merci à vous.

Re: Impossible de créer la table CONTACT

Posted: 27 Aug 2024, 12:01
by tintinux
Bonjour

Le problème vient du fait que vous avez MySql 8 ou supérieur et que dans cette version on ne plus avoir de champ nommé "Function".

Gestinux 1.6 devrait résoudre ce problème en supprimant ce nom de champ dans la table Contacts, sachant qu'il a déjà été remplacé par ContactFunction en 1.5, mais conservé pour compatibilité descendante.

On remercie l'équipe de MySql de faire de telles ruptures de compatibilité. :roll:

Re: Impossible de créer la table CONTACT

Posted: 16 Oct 2024, 05:57
by FlorenT
Le fait que le champ ait été remplacé par "ContactFunction" dans les versions précédentes, tout en maintenant une compatibilité descendante, montre bien la complexité des migrations entre différentes versions de MySQL​. Il est vrai que de telles ruptures de compatibilité peuvent causer des frustrations, surtout pour ceux d'entre nous qui s'appuient sur des bases de données pour nos applications. D'ailleurs, cela soulève un point intéressant sur l'importance d'être informé des changements de version. Une bonne pratique serait de toujours consulter la documentation de MySQL lors d'une mise à niveau, comme les détails sur les modifications entre MySQL 5.7 et 8.0, qui incluent également des suppressions d'anciennes fonctionnalités et des changements dans la gestion des utilisateurs.