Modify

Opened 3 years ago

Closed 2 years ago

Last modified 2 years ago

#9912 closed defect (fixed)

SimpleMultiProjectPlugin and MySQL not Working

Reported by: rauchenwald@… Owned by: falkb
Priority: high Component: SimpleMultiProjectPlugin
Severity: normal Keywords: MySQL, SimpleMultiProject
Cc: Trac Release: 0.12

Description (last modified by rjollos)

When trying:

trac-admin /path/to/env upgrade

the same "Error" occurs like in ticket http://trac-hacks.org/ticket/9729

SimpleMultiProject database schema version: 1 initialized.
SimpleMultiProject database schema is out of date: False
Database is up to date, no upgrade necessary.

Trying to add the required tables with the attached file (http://trac-hacks.org/attachment/ticket/9729/load_db.sql) fails cause MySQL uses other syntax.

When adding tables manually using:

CREATE TABLE `smp_project` (
	`id_project` INT(64) NOT NULL,
	`name` VARCHAR(512) NOT NULL,
	`description` VARCHAR(2048) NOT NULL DEFAULT '',
	PRIMARY KEY (`id_project`)
)
COLLATE='utf8_bin'
ENGINE=MyISAM;

CREATE TABLE `smp_milestone_project` (
	`id` INT(64) NOT NULL,
	`milestone` VARCHAR(512) NOT NULL,
	`id_project` INT(64) NOT NULL,
	PRIMARY KEY (`id`)
)
COLLATE='utf8_bin'
ENGINE=MyISAM;

the option "projects" is visible in Admin section of trac, but when tryin to add the second project a error occurs, so using the following code via phpMyAdmin

ALTER TABLE `smp_project`
	CHANGE COLUMN `id_project` `id_project` INT(64) NOT NULL AUTO_INCREMENT FIRST;

now adding projects works fine BUT -> after logout the "admin" button is still visible to anonymous and shows the project settings.

also there is no option to add/choose project when clicking on admin->milestones->edit milestone

so after all there are some things not correct when using MySQL as Database...

btw: using Trac 0.12.3 under http://trac.rc-hosting.net

Attachments (0)

Change History (11)

comment:1 Changed 3 years ago by rjollos

  • Description modified (diff)

comment:3 Changed 2 years ago by anonymous

thanks for the report problems found. You ask excuse for not correct yet, I hope to work soon on these improvements.

regards

comment:4 Changed 2 years ago by falkb

Currently, only sqlite is supported/tested. I haven't found a sufficiently good page explaining what exactly must be done for a port to MySQL. Anyway, most stuff is in model.py, patch for it is welcome.

comment:5 Changed 2 years ago by mig

In MySQL the length of VARCHAR is mandatory!

In Rev. 11731 the summary-field is missing. (The following patch fixes the issue for mysql).

  • simplemultiproject/environmentSetup.py

    a b  
    1616db_version = 4
    1717
    1818tables = [
    19     Table('smp_project', key = 'id') [
     19    Table('smp_project', key = 'id_project') [
    2020        Column('id_project', type = 'integer', auto_increment = True),
    21         Column('name',type = 'varchar'),
    22         Column('description',type='varchar')
     21        Column('name', type = 'varchar(255)'),
     22        Column('summary', type='varchar(255)'),
     23        Column('description', type='varchar(255)')
    2324    ],
    2425    Table('smp_milestone_project',key = 'id') [
    2526        Column('id', type = 'integer', auto_increment = True),
    26         Column('milestone',type = 'varchar'),
     27        Column('milestone', type = 'varchar(255)'),
    2728        Column('id_project',type = 'integer')
    2829    ],
    2930]
     
    3233    # Added with version 2
    3334    Table('smp_version_project',key = 'id') [
    3435        Column('id', type = 'integer', auto_increment = True),
    35         Column('version',type = 'varchar'),
     36        Column('version',type = 'varchar(255)'),
    3637        Column('id_project',type = 'integer')
    3738
    3839    ],

comment:6 Changed 2 years ago by anonymous

Micha, does this plugin work for you with MySQL now?

comment:7 Changed 2 years ago by falkb

Thanks for the patch, though I wonder if this is still compatible with the other supported database types, like SqLite (?). And as someone already asked, is this all to get the plugin running with MySQL? I can't test it but don't want to apply blindly.

comment:8 Changed 2 years ago by mig

Yes it works for me: @ mysql-5.1.62 . Trac 0.12

I haven't tested on other dbms.

Micha

comment:9 Changed 2 years ago by falkb

  • Owner changed from crossroad to falkb
  • Status changed from new to assigned

OK, then I'm going to test the patch with my SQLite system by trial'n'error.

comment:9 Changed 2 years ago by falkb

(In [11785]) Refs #9912: applied proposed patch of Micha Glave, but changed it a bit, because for compat reasons, table column 'summary' is added on upgrade from version 3 to 4. Please, test this commit and report if it still works with MySQL.

comment:10 Changed 2 years ago by mig

  • Resolution set to fixed
  • Status changed from assigned to closed

works as expected with mysql!

trac > trac-admin . upgrade 
SimpleMultiProject database schema version: 4 initialized.
SimpleMultiProject database schema version: 0 installed.
SimpleMultiProject database schema is out of date: True
SimpleMultiProject database schema version: 4 initialized.
SimpleMultiProject database schema version: 0 installed.
SimpleMultiProject database schema is out of date: True
Upgrading SimpleMultiProject database schema
Upgrading SimpleMultiProject database schema
Upgrade done.

Micha

comment:11 Changed 2 years ago by falkb

  • Trac Release changed from 0.11 to 0.12

Cool, thank you!

Add Comment

Modify Ticket

Action
as closed The owner will remain falkb.
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.