record the engine when building mysql.str
authorTony Cook <tony@develop-help.com>
Fri, 13 May 2011 11:03:41 +0000 (21:03 +1000)
committerTony Cook <tony@develop-help.com>
Fri, 13 May 2011 11:03:41 +0000 (21:03 +1000)
Makefile
schema/bse.sql
schema/mysql_build.pl
site/util/mysql.str

index 46d249f..4966874 100755 (executable)
--- a/Makefile
+++ b/Makefile
@@ -82,7 +82,7 @@ otherdocs:
 
 dbinfo: site/util/mysql.str
 
-site/util/mysql.str: schema/bse.sql
+site/util/mysql.str: schema/bse.sql schema/mysql_build.pl
        perl schema/mysql_build.pl >site/util/mysql.str
 
 version: site/cgi-bin/modules/BSE/Version.pm
index ac76632..0a7e243 100644 (file)
@@ -1212,7 +1212,7 @@ create table bse_files (
   ftype varchar(20) not null default 'img',
 
   index owner(file_type, owner_id)
-);
+) type = InnoDB;
 
 -- a generic selection of files from a pool
 create table bse_selected_files (
index 334f00b..6d4ac18 100644 (file)
@@ -46,13 +46,15 @@ if (keys %tables) {
 system "mysql -u$un -p$pw $db <$dist"
   and die "Error loading database";
 
-$tl = $dbh->prepare("show tables")
-  or die "prepare show tables ",$dbh->errstr;
+$tl = $dbh->prepare("show table status")
+  or die "prepare show table status ",$dbh->errstr;
 $tl->execute
-  or die "execute show tables ",$tl->errstr;
+  or die "execute show table status ",$tl->errstr;
 my @tables;
+my %engines;
 while (my $row = $tl->fetchrow_arrayref) {
   push(@tables, $row->[0]);
+  $engines{$row->[0]} = $row->[1];
 }
 undef $tl;
 
@@ -60,6 +62,7 @@ my @expected = qw(field type null key default extra);
 my @want =     qw(field type null default extra);
 for my $table (@tables) {
   print "Table $table\n";
+  print "Engine $engines{$table}\n";
   my $ti = $dbh->prepare("describe $table")
     or die "prepare describe $table: ",$dbh->errstr;
   $ti->execute()
index b6645f3..2822a44 100644 (file)
@@ -1,8 +1,10 @@
 Table admin_base
+Engine MyISAM
 Column id;int(11);NO;NULL;auto_increment
 Column type;char(1);NO;NULL;
 Index PRIMARY;1;[id]
 Table admin_groups
+Engine MyISAM
 Column base_id;int(11);NO;NULL;
 Column name;varchar(80);NO;NULL;
 Column description;varchar(255);NO;NULL;
@@ -11,15 +13,18 @@ Column template_set;varchar(80);NO;;
 Index PRIMARY;1;[base_id]
 Index name;1;[name]
 Table admin_membership
+Engine MyISAM
 Column user_id;int(11);NO;NULL;
 Column group_id;int(11);NO;NULL;
 Index PRIMARY;1;[user_id;group_id]
 Table admin_perms
+Engine MyISAM
 Column object_id;int(11);NO;NULL;
 Column admin_id;int(11);NO;NULL;
 Column perm_map;varchar(255);YES;NULL;
 Index PRIMARY;1;[object_id;admin_id]
 Table admin_users
+Engine MyISAM
 Column base_id;int(11);NO;NULL;
 Column logon;varchar(60);NO;NULL;
 Column name;varchar(255);NO;NULL;
@@ -29,6 +34,7 @@ Column password_type;varchar(20);NO;plain;
 Index PRIMARY;1;[base_id]
 Index logon;1;[logon]
 Table article
+Engine MyISAM
 Column id;int(11);NO;NULL;auto_increment
 Column parentid;int(11);NO;0;
 Column displayOrder;int(11);NO;0;
@@ -81,6 +87,7 @@ Index article_displayOrder_index;0;[displayOrder]
 Index article_level_index;0;[level;id]
 Index article_parentId_index;0;[parentid]
 Table article_files
+Engine MyISAM
 Column id;int(11);NO;NULL;auto_increment
 Column articleId;int(11);NO;NULL;
 Column displayName;varchar(255);NO;;
@@ -102,12 +109,14 @@ Column category;varchar(20);NO;;
 Column file_handler;varchar(20);NO;;
 Index PRIMARY;1;[id]
 Table bse_admin_ui_state
+Engine MyISAM
 Column id;int(11);NO;NULL;auto_increment
 Column user_id;int(11);NO;NULL;
 Column name;varchar(80);NO;NULL;
 Column val;text;NO;NULL;
 Index PRIMARY;1;[id]
 Table bse_article_file_meta
+Engine MyISAM
 Column id;int(11);NO;NULL;auto_increment
 Column file_id;int(11);NO;NULL;
 Column name;varchar(20);NO;NULL;
@@ -117,10 +126,12 @@ Column appdata;int(11);NO;0;
 Index PRIMARY;1;[id]
 Index file_name;1;[file_id;name]
 Table bse_article_groups
+Engine MyISAM
 Column article_id;int(11);NO;NULL;
 Column group_id;int(11);NO;NULL;
 Index PRIMARY;1;[article_id;group_id]
 Table bse_audit_log
+Engine MyISAM
 Column id;int(11);NO;NULL;auto_increment
 Column when_at;datetime;NO;NULL;
 Column facility;varchar(20);NO;bse;
@@ -139,6 +150,7 @@ Index PRIMARY;1;[id]
 Index ba_what;0;[facility;component;module;function]
 Index ba_when;0;[when_at]
 Table bse_background_tasks
+Engine MyISAM
 Column id;varchar(20);NO;NULL;
 Column description;varchar(80);NO;NULL;
 Column modname;varchar(80);NO;;
@@ -154,6 +166,7 @@ Column last_completion;datetime;YES;NULL;
 Column long_desc;text;YES;NULL;
 Index PRIMARY;1;[id]
 Table bse_file_access_log
+Engine MyISAM
 Column id;int(11);NO;NULL;auto_increment
 Column when_at;datetime;NO;NULL;
 Column siteuser_id;int(11);NO;NULL;
@@ -174,6 +187,7 @@ Index by_file;0;[file_id]
 Index by_user;0;[siteuser_id;when_at]
 Index by_when_at;0;[when_at]
 Table bse_file_notifies
+Engine MyISAM
 Column id;int(11);NO;NULL;auto_increment
 Column owner_type;char(1);NO;NULL;
 Column owner_id;int(11);NO;NULL;
@@ -183,12 +197,14 @@ Index PRIMARY;1;[id]
 Index by_owner;0;[owner_type;owner_id]
 Index by_time;0;[owner_type;when_at]
 Table bse_file_subscriptions
+Engine MyISAM
 Column id;int(11);NO;NULL;
 Column siteuser_id;int(11);NO;NULL;
 Column category;varchar(20);NO;NULL;
 Index by_category;0;[category]
 Index by_siteuser;0;[siteuser_id]
 Table bse_files
+Engine InnoDB
 Column id;int(11);NO;NULL;auto_increment
 Column file_type;varchar(20);NO;NULL;
 Column owner_id;int(11);NO;NULL;
@@ -211,6 +227,7 @@ Column ftype;varchar(20);NO;img;
 Index PRIMARY;1;[id]
 Index owner;0;[file_type;owner_id]
 Table bse_locations
+Engine MyISAM
 Column id;int(11);NO;NULL;auto_increment
 Column description;varchar(255);NO;NULL;
 Column room;varchar(40);NO;NULL;
@@ -231,6 +248,7 @@ Column admin_notes;text;NO;NULL;
 Column disabled;int(11);NO;0;
 Index PRIMARY;1;[id]
 Table bse_msg_base
+Engine MyISAM
 Column id;varchar(80);NO;NULL;
 Column description;text;NO;NULL;
 Column formatting;varchar(5);NO;none;
@@ -238,17 +256,20 @@ Column params;varchar(40);NO;;
 Column multiline;int(11);NO;0;
 Index PRIMARY;1;[id]
 Table bse_msg_defaults
+Engine MyISAM
 Column id;varchar(80);NO;NULL;
 Column language_code;varchar(10);NO;;
 Column priority;int(11);NO;0;
 Column message;text;NO;NULL;
 Index PRIMARY;1;[id;language_code;priority]
 Table bse_msg_managed
+Engine MyISAM
 Column id;varchar(80);NO;NULL;
 Column language_code;varchar(10);NO;;
 Column message;text;NO;NULL;
 Index PRIMARY;1;[id;language_code]
 Table bse_order_item_options
+Engine InnoDB
 Column id;int(11);NO;NULL;auto_increment
 Column order_item_id;int(11);NO;NULL;
 Column original_id;varchar(40);NO;NULL;
@@ -259,6 +280,7 @@ Column display_order;int(11);NO;NULL;
 Index PRIMARY;1;[id]
 Index item_order;0;[order_item_id;display_order]
 Table bse_owned_files
+Engine MyISAM
 Column id;int(11);NO;NULL;auto_increment
 Column owner_type;char(1);NO;NULL;
 Column owner_id;int(11);NO;NULL;
@@ -275,6 +297,7 @@ Column filekey;varchar(80);NO;;
 Index PRIMARY;1;[id]
 Index by_owner_category;0;[owner_type;owner_id;category]
 Table bse_product_option_values
+Engine InnoDB
 Column id;int(11);NO;NULL;auto_increment
 Column product_option_id;int(11);NO;NULL;
 Column value;varchar(255);NO;NULL;
@@ -282,6 +305,7 @@ Column display_order;int(11);NO;NULL;
 Index PRIMARY;1;[id]
 Index option_order;0;[product_option_id;display_order]
 Table bse_product_options
+Engine InnoDB
 Column id;int(11);NO;NULL;auto_increment
 Column product_id;int(11);NO;NULL;
 Column name;varchar(255);NO;NULL;
@@ -293,6 +317,7 @@ Column default_value;int(11);YES;NULL;
 Index PRIMARY;1;[id]
 Index product_order;0;[product_id;display_order]
 Table bse_selected_files
+Engine InnoDB
 Column id;int(11);NO;NULL;auto_increment
 Column owner_id;int(11);NO;NULL;
 Column owner_type;varchar(20);NO;NULL;
@@ -301,6 +326,7 @@ Column display_order;int(11);NO;-1;
 Index PRIMARY;1;[id]
 Index only_one;1;[owner_id;owner_type;file_id]
 Table bse_seminar_bookings
+Engine MyISAM
 Column id;int(11);NO;NULL;auto_increment
 Column session_id;int(11);NO;NULL;
 Column siteuser_id;int(11);NO;NULL;
@@ -312,6 +338,7 @@ Index PRIMARY;1;[id]
 Index session_id;1;[session_id;siteuser_id]
 Index siteuser_id;0;[siteuser_id]
 Table bse_seminar_sessions
+Engine MyISAM
 Column id;int(11);NO;NULL;auto_increment
 Column seminar_id;int(11);NO;NULL;
 Column location_id;int(11);NO;NULL;
@@ -322,14 +349,17 @@ Index location_id;0;[location_id]
 Index seminar_id;1;[seminar_id;location_id;when_at]
 Index seminar_id_2;0;[seminar_id]
 Table bse_seminars
+Engine MyISAM
 Column seminar_id;int(11);NO;NULL;
 Column duration;int(11);NO;NULL;
 Index PRIMARY;1;[seminar_id]
 Table bse_siteuser_groups
+Engine MyISAM
 Column id;int(11);NO;NULL;auto_increment
 Column name;varchar(80);NO;NULL;
 Index PRIMARY;1;[id]
 Table bse_siteuser_images
+Engine MyISAM
 Column siteuser_id;int(11);NO;NULL;
 Column image_id;varchar(20);NO;NULL;
 Column filename;varchar(80);NO;NULL;
@@ -340,11 +370,13 @@ Column content_type;varchar(80);NO;NULL;
 Column alt;varchar(255);NO;NULL;
 Index PRIMARY;1;[siteuser_id;image_id]
 Table bse_siteuser_membership
+Engine MyISAM
 Column group_id;int(11);NO;NULL;
 Column siteuser_id;int(11);NO;NULL;
 Index PRIMARY;1;[group_id;siteuser_id]
 Index siteuser_id;0;[siteuser_id]
 Table bse_subscriptions
+Engine MyISAM
 Column subscription_id;int(11);NO;NULL;auto_increment
 Column text_id;varchar(20);NO;NULL;
 Column title;varchar(255);NO;NULL;
@@ -353,6 +385,7 @@ Column max_lapsed;int(11);NO;NULL;
 Index PRIMARY;1;[subscription_id]
 Index text_id;1;[text_id]
 Table bse_user_subscribed
+Engine MyISAM
 Column subscription_id;int(11);NO;NULL;
 Column siteuser_id;int(11);NO;NULL;
 Column started_at;date;NO;NULL;
@@ -360,17 +393,20 @@ Column ends_at;date;NO;NULL;
 Column max_lapsed;int(11);NO;NULL;
 Index PRIMARY;1;[subscription_id;siteuser_id]
 Table bse_wishlist
+Engine MyISAM
 Column user_id;int(11);NO;NULL;
 Column product_id;int(11);NO;NULL;
 Column display_order;int(11);NO;NULL;
 Index PRIMARY;1;[user_id;product_id]
 Table email_blacklist
+Engine MyISAM
 Column id;int(11);NO;NULL;auto_increment
 Column email;varchar(127);NO;NULL;
 Column why;varchar(80);NO;NULL;
 Index PRIMARY;1;[id]
 Index email;1;[email]
 Table email_requests
+Engine MyISAM
 Column id;int(11);NO;NULL;auto_increment
 Column email;varchar(127);NO;NULL;
 Column genEmail;varchar(127);NO;NULL;
@@ -380,6 +416,7 @@ Index PRIMARY;1;[id]
 Index email;1;[email]
 Index genEmail;1;[genEmail]
 Table image
+Engine MyISAM
 Column id;mediumint(8) unsigned;NO;NULL;auto_increment
 Column articleId;int(11);NO;NULL;
 Column image;varchar(255);NO;;
@@ -394,6 +431,7 @@ Column src;varchar(255);NO;;
 Column ftype;varchar(20);NO;img;
 Index PRIMARY;1;[id]
 Table order_item
+Engine MyISAM
 Column id;int(11);NO;NULL;auto_increment
 Column productId;int(11);NO;NULL;
 Column orderId;int(11);NO;NULL;
@@ -418,6 +456,7 @@ Column product_code;varchar(80);NO;;
 Index PRIMARY;1;[id]
 Index order_item_order;0;[orderId;id]
 Table orders
+Engine MyISAM
 Column id;int(11);NO;NULL;auto_increment
 Column delivFirstName;varchar(127);NO;;
 Column delivLastName;varchar(127);NO;;
@@ -494,6 +533,7 @@ Index PRIMARY;1;[id]
 Index order_cchash;0;[ccNumberHash]
 Index order_userId;0;[userId;orderDate]
 Table other_parents
+Engine MyISAM
 Column id;int(11);NO;NULL;auto_increment
 Column parentId;int(11);NO;NULL;
 Column childId;int(11);NO;NULL;
@@ -505,6 +545,7 @@ Index PRIMARY;1;[id]
 Index childId;0;[childId;childDisplayOrder]
 Index parentId;1;[parentId;childId]
 Table product
+Engine MyISAM
 Column articleId;int(11);NO;NULL;
 Column summary;varchar(255);NO;NULL;
 Column leadTime;int(11);NO;0;
@@ -523,17 +564,20 @@ Column width;int(11);NO;0;
 Column height;int(11);NO;0;
 Index PRIMARY;1;[articleId]
 Table searchindex
+Engine MyISAM
 Column id;varbinary(200);NO;;
 Column articleIds;varchar(255);NO;;
 Column sectionIds;varchar(255);NO;;
 Column scores;varchar(255);NO;;
 Index PRIMARY;1;[id]
 Table sessions
+Engine MyISAM
 Column id;char(32);NO;NULL;
 Column a_session;blob;YES;NULL;
 Column whenChanged;timestamp;NO;CURRENT_TIMESTAMP;on update CURRENT_TIMESTAMP
 Index PRIMARY;1;[id]
 Table site_users
+Engine MyISAM
 Column id;int(11);NO;NULL;auto_increment
 Column userId;varchar(40);NO;NULL;
 Column password;varchar(40);NO;NULL;
@@ -596,16 +640,19 @@ Index PRIMARY;1;[id]
 Index affiliate_name;0;[affiliate_name]
 Index userId;1;[userId]
 Table sql_statements
+Engine MyISAM
 Column name;varchar(80);NO;NULL;
 Column sql_statement;text;NO;NULL;
 Index PRIMARY;1;[name]
 Table subscribed_users
+Engine MyISAM
 Column id;int(11);NO;NULL;auto_increment
 Column subId;int(11);NO;NULL;
 Column userId;int(11);NO;NULL;
 Index PRIMARY;1;[id]
 Index subId;1;[subId;userId]
 Table subscription_types
+Engine MyISAM
 Column id;int(11);NO;NULL;auto_increment
 Column name;varchar(80);NO;NULL;
 Column title;varchar(64);NO;NULL;