Drop the owner column in rooms table, useless

master
Daniel Berteaud 10 years ago
parent a7efdd54a7
commit 601632c07b
  1. 3
      docs/database/schema.mysql
  2. 2
      lib/Vroom/Constants.pm
  3. 17
      scripts/db_upgrade.pl
  4. 14
      vroom.pl

@ -6,12 +6,11 @@ CREATE TABLE `config` (
UNIQUE (`key`) UNIQUE (`key`)
) ENGINE INNODB DEFAULT CHARSET=utf8; ) ENGINE INNODB DEFAULT CHARSET=utf8;
INSERT INTO `config` (`key`,`value`) INSERT INTO `config` (`key`,`value`)
VALUES ('schema_version', '5'); VALUES ('schema_version', '6');
CREATE TABLE `rooms` ( CREATE TABLE `rooms` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT, `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(120) NOT NULL, `name` VARCHAR(120) NOT NULL,
`owner` VARCHAR(60) DEFAULT NULL,
`create_date` DATETIME DEFAULT NULL, `create_date` DATETIME DEFAULT NULL,
`last_activity` DATETIME DEFAULT NULL, `last_activity` DATETIME DEFAULT NULL,
`locked` TINYINT UNSIGNED DEFAULT '0', `locked` TINYINT UNSIGNED DEFAULT '0',

@ -7,7 +7,7 @@ use base 'Exporter';
our @EXPORT = qw/DB_VERSION COMPONENTS MOH JS_STRINGS API_ACTIONS/; our @EXPORT = qw/DB_VERSION COMPONENTS MOH JS_STRINGS API_ACTIONS/;
# Database version # Database version
use constant DB_VERSION => 5; use constant DB_VERSION => 6;
# Components used to generate the credits part # Components used to generate the credits part
use constant COMPONENTS => { use constant COMPONENTS => {

@ -128,3 +128,20 @@ if ($cur_ver < 5){
print "Successfully upgraded to schema version 5\n"; print "Successfully upgraded to schema version 5\n";
} }
if ($cur_ver < 6){
print "Upgrading the schema to version 6\n";
eval {
$dbh->begin_work;
$dbh->do(qq{ ALTER TABLE `rooms` DROP COLUMN `owner` });
$dbh->do(qq{ UPDATE `config` SET `value`='6' WHERE `key`='schema_version' });
$dbh->commit;
};
if ($@){
print "An error occurred: " . $dbh->errstr . "\n";
local $dbh->{RaiseError} = 0;
$dbh->rollback;
exit 255;
};
print "Successfully upgraded to schema version 6\n";
}

@ -197,7 +197,7 @@ helper logout => sub {
# Requires two args: the name of the room and the session name of the creator # Requires two args: the name of the room and the session name of the creator
helper create_room => sub { helper create_room => sub {
my $self = shift; my $self = shift;
my ($name,$owner) = @_; my ($name) = @_;
# Convert room names to lowercase # Convert room names to lowercase
if ($name ne lc $name){ if ($name ne lc $name){
$name = lc $name; $name = lc $name;
@ -213,16 +213,14 @@ helper create_room => sub {
$self->db->prepare('INSERT INTO `rooms` $self->db->prepare('INSERT INTO `rooms`
(`name`, (`name`,
`create_date`, `create_date`,
`last_activity`, `last_activity`)
`owner`)
VALUES (?, VALUES (?,
CONVERT_TZ(NOW(), @@session.time_zone, \'+00:00\'), CONVERT_TZ(NOW(), @@session.time_zone, \'+00:00\'),
CONVERT_TZ(NOW(), @@session.time_zone, \'+00:00\'), CONVERT_TZ(NOW(), @@session.time_zone, \'+00:00\')
?)'); )');
}; };
$sth->execute( $sth->execute(
$name, $name
$owner
); );
$self->app->log->info("Room $name created by " . $self->get_name); $self->app->log->info("Room $name created by " . $self->get_name);
# Etherpad integration ? If so, create the corresponding pad # Etherpad integration ? If so, create the corresponding pad
@ -1434,7 +1432,7 @@ any '/api' => sub {
$json->{msg} = $self->l('ERROR_NAME_CONFLICT'); $json->{msg} = $self->l('ERROR_NAME_CONFLICT');
return $self->render(json => $json, status => 409); return $self->render(json => $json, status => 409);
} }
if (!$self->create_room($req->{param}->{room},$self->get_name)){ if (!$self->create_room($req->{param}->{room})){
$json->{err} = 'ERROR_OCCURRED'; $json->{err} = 'ERROR_OCCURRED';
$json->{msg} = $self->l('ERROR_OCCURRED'); $json->{msg} = $self->l('ERROR_OCCURRED');
return $self->render(json => $json, status => 500); return $self->render(json => $json, status => 500);

Loading…
Cancel
Save