summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Prodromou <evan@controlyourself.ca>2009-06-22 14:19:41 -0700
committerEvan Prodromou <evan@controlyourself.ca>2009-06-22 14:19:41 -0700
commit05e51228020fecaa894523b5159bc412d48e5b19 (patch)
tree7b677b2d057e911c28c7500e1c869cfbb9e8f055
parentf21cecbfbd3f641d3ad259db8c3883cd9a0382df (diff)
Database changes for file tables
Some minor database changes for file tables. Namely: * Added a timestamp to all tables * Added a filename column for local files * Change some tables that had unnecessary auto-increment primary keys when they had another unique column that should act as the primary key * Change engine from MyISAM to InnoDB for a couple of files. Also, rebuilt the DB_DataObject files for all these tables.
-rw-r--r--classes/File.php10
-rw-r--r--classes/File_oembed.php10
-rw-r--r--classes/File_redirection.php10
-rw-r--r--classes/File_thumbnail.php8
-rw-r--r--classes/File_to_post.php6
-rwxr-xr-xclasses/laconica.ini30
-rw-r--r--db/laconica.sql31
7 files changed, 58 insertions, 47 deletions
diff --git a/classes/File.php b/classes/File.php
index 890536035..800041d5d 100644
--- a/classes/File.php
+++ b/classes/File.php
@@ -36,13 +36,15 @@ class File extends Memcached_DataObject
/* the code below is auto generated do not remove the above tag */
public $__table = 'file'; // table name
- public $id; // int(11) not_null primary_key group_by
+ public $id; // int(4) primary_key not_null
public $url; // varchar(255) unique_key
public $mimetype; // varchar(50)
- public $size; // int(11) group_by
+ public $size; // int(4)
public $title; // varchar(255)
- public $date; // int(11) group_by
- public $protected; // int(1) group_by
+ public $date; // int(4)
+ public $protected; // int(4)
+ public $filename; // varchar(255)
+ public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
/* Static get */
function staticGet($k,$v=NULL) { return DB_DataObject::staticGet('File',$k,$v); }
diff --git a/classes/File_oembed.php b/classes/File_oembed.php
index 2e8e851cd..f9ca14e3c 100644
--- a/classes/File_oembed.php
+++ b/classes/File_oembed.php
@@ -31,19 +31,19 @@ class File_oembed extends Memcached_DataObject
/* the code below is auto generated do not remove the above tag */
public $__table = 'file_oembed'; // table name
- public $id; // int(11) not_null primary_key group_by
- public $file_id; // int(11) unique_key group_by
+ public $file_id; // int(4) primary_key not_null
public $version; // varchar(20)
public $type; // varchar(20)
public $provider; // varchar(50)
public $provider_url; // varchar(255)
- public $width; // int(11) group_by
- public $height; // int(11) group_by
- public $html; // blob(65535) blob
+ public $width; // int(4)
+ public $height; // int(4)
+ public $html; // text()
public $title; // varchar(255)
public $author_name; // varchar(50)
public $author_url; // varchar(255)
public $url; // varchar(255)
+ public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
/* Static get */
function staticGet($k,$v=NULL) { return DB_DataObject::staticGet('File_oembed',$k,$v); }
diff --git a/classes/File_redirection.php b/classes/File_redirection.php
index 0d6e2a700..13f02f8e5 100644
--- a/classes/File_redirection.php
+++ b/classes/File_redirection.php
@@ -36,11 +36,11 @@ class File_redirection extends Memcached_DataObject
/* the code below is auto generated do not remove the above tag */
public $__table = 'file_redirection'; // table name
- public $id; // int(11) not_null primary_key group_by
- public $url; // varchar(255) unique_key
- public $file_id; // int(11) group_by
- public $redirections; // int(11) group_by
- public $httpcode; // int(11) group_by
+ public $url; // varchar(255) primary_key not_null
+ public $file_id; // int(4)
+ public $redirections; // int(4)
+ public $httpcode; // int(4)
+ public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
/* Static get */
function staticGet($k,$v=NULL) { return DB_DataObject::staticGet('File_redirection',$k,$v); }
diff --git a/classes/File_thumbnail.php b/classes/File_thumbnail.php
index 2908549da..40d85b258 100644
--- a/classes/File_thumbnail.php
+++ b/classes/File_thumbnail.php
@@ -31,11 +31,11 @@ class File_thumbnail extends Memcached_DataObject
/* the code below is auto generated do not remove the above tag */
public $__table = 'file_thumbnail'; // table name
- public $id; // int(11) not_null primary_key group_by
- public $file_id; // int(11) unique_key group_by
+ public $file_id; // int(4) primary_key not_null
public $url; // varchar(255) unique_key
- public $width; // int(11) group_by
- public $height; // int(11) group_by
+ public $width; // int(4)
+ public $height; // int(4)
+ public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
/* Static get */
function staticGet($k,$v=NULL) { return DB_DataObject::staticGet('File_thumbnail',$k,$v); }
diff --git a/classes/File_to_post.php b/classes/File_to_post.php
index 9362faaae..bb5f4e6e4 100644
--- a/classes/File_to_post.php
+++ b/classes/File_to_post.php
@@ -31,9 +31,9 @@ class File_to_post extends Memcached_DataObject
/* the code below is auto generated do not remove the above tag */
public $__table = 'file_to_post'; // table name
- public $id; // int(11) not_null primary_key group_by
- public $file_id; // int(11) multiple_key group_by
- public $post_id; // int(11) group_by
+ public $file_id; // int(4) primary_key not_null
+ public $post_id; // int(4) primary_key not_null
+ public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
/* Static get */
function staticGet($k,$v=NULL) { return DB_DataObject::staticGet('File_to_post',$k,$v); }
diff --git a/classes/laconica.ini b/classes/laconica.ini
index 5ced15885..7e9b2b791 100755
--- a/classes/laconica.ini
+++ b/classes/laconica.ini
@@ -68,13 +68,14 @@ size = 1
title = 2
date = 1
protected = 1
+filename = 2
+modified = 384
[file__keys]
id = N
[file_oembed]
-id = 129
-file_id = 1
+file_id = 129
version = 2
type = 2
provider = 2
@@ -86,37 +87,40 @@ title = 2
author_name = 2
author_url = 2
url = 2
+modified = 384
[file_oembed__keys]
-id = N
+file_id = K
[file_redirection]
-id = 129
-url = 2
+url = 130
file_id = 1
redirections = 1
httpcode = 1
+modified = 384
[file_redirection__keys]
-id = N
+url = K
[file_thumbnail]
-id = 129
-file_id = 1
+file_id = 129
url = 2
width = 1
height = 1
+modified = 384
[file_thumbnail__keys]
-id = N
+file_id = K
+url = U
[file_to_post]
-id = 129
-file_id = 1
-post_id = 1
+file_id = 129
+post_id = 129
+modified = 384
[file_to_post__keys]
-id = N
+file_id = K
+post_id = K
[foreign_link]
user_id = 129
diff --git a/db/laconica.sql b/db/laconica.sql
index 8d1d47d38..95796d5cc 100644
--- a/db/laconica.sql
+++ b/db/laconica.sql
@@ -431,6 +431,7 @@ create table group_inbox (
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
create table file (
+
id integer primary key auto_increment,
url varchar(255) comment 'destination URL after following redirections',
mimetype varchar(50) comment 'mime type of resource',
@@ -438,13 +439,15 @@ create table file (
title varchar(255) comment 'title of resource when available',
date integer(11) comment 'date of resource according to http query',
protected integer(1) comment 'true when URL is private (needs login)',
+ filename varchar(255) comment 'if a local file, name of the file',
+
+ modified timestamp comment 'date this record was modified',
unique(url)
-) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
+) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
create table file_oembed (
- id integer primary key auto_increment,
- file_id integer comment 'oEmbed for that URL/file' references file (id),
+ file_id integer primary key comment 'oEmbed for that URL/file' references file (id),
version varchar(20) comment 'oEmbed spec. version',
type varchar(20) comment 'oEmbed type: photo, video, link, rich',
provider varchar(50) comment 'name of this oEmbed provider',
@@ -456,37 +459,39 @@ create table file_oembed (
author_name varchar(50) comment 'author name for this oEmbed resource',
author_url varchar(255) comment 'author URL for this oEmbed resource',
url varchar(255) comment 'URL for this oEmbed resource when applicable (photo, link)',
+ modified timestamp comment 'date this record was modified'
- unique(file_id)
-) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
+) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
create table file_redirection (
- id integer primary key auto_increment,
- url varchar(255) comment 'short URL (or any other kind of redirect) for file (id)',
+
+ url varchar(255) primary key comment 'short URL (or any other kind of redirect) for file (id)',
file_id integer comment 'short URL for what URL/file' references file (id),
redirections integer comment 'redirect count',
httpcode integer comment 'HTTP status code (20x, 30x, etc.)',
+ modified timestamp comment 'date this record was modified'
- unique(url)
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
create table file_thumbnail (
- id integer primary key auto_increment,
- file_id integer comment 'thumbnail for what URL/file' references file (id),
+
+ file_id integer primary key comment 'thumbnail for what URL/file' references file (id),
url varchar(255) comment 'URL of thumbnail',
width integer comment 'width of thumbnail',
height integer comment 'height of thumbnail',
+ modified timestamp comment 'date this record was modified',
- unique(file_id),
unique(url)
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
create table file_to_post (
- id integer primary key auto_increment,
+
file_id integer comment 'id of URL/file' references file (id),
post_id integer comment 'id of the notice it belongs to' references notice (id),
+ modified timestamp comment 'date this record was modified',
+
+ constraint primary key (file_id, post_id)
- unique(file_id, post_id)
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
create table design (