One more problem.

I had a permission problem with the cache directory, and got an error
file_put_contents(/path/to/my/site/habari/user/cache/
c8942f7085f506bcfb69b4a3bd64363d.
1137ee5f5dab2280f8646db1c09c4580.cache) [<a href='function.file-put-
contents'>function.file-put-contents</a>]: failed to open stream:
Permission denied in system/classes/filecache.php:152

This also gave:
value too long for type character varying(255)
STATEMENT:  INSERT INTO habari__log ( data, ip, message, severity_id,
timestamp, type_id, user_id ) VALUES ( $1, $2, $3, $4, $5, $6, $7 )

I'd suggest changing the type of "message" to "text". for this table.
ALTER TABLE {$prefix}log
        ALTER COLUMN message TYPE text;


On Jan 12, 9:59 pm, David <[email protected]> wrote:
> I've created a schema.sql and upgrade.sql script to move from Habari
> 0.7 to 0.8. for postgres
>
> I don't know how to name the script so that it runs via schema/pgsql/
> upgrades/post/XXXX.sql
>
> Also, i can't seem to attach files here i'll cut'n'paste and hope that
> the formatting doesn't get messed up.
>
> ====schema.sql=====
> CREATE SEQUENCE {$prefix}posts_pkey_seq;
> CREATE TABLE {$prefix}posts (
>   id BIGINT NOT NULL DEFAULT nextval('{$prefix}posts_pkey_seq'),
>   slug VARCHAR(255) NOT NULL,
>   content_type INTEGER NOT NULL,
>   title VARCHAR(255) NOT NULL,
>   guid VARCHAR(255) NOT NULL,
>   content TEXT NOT NULL,
>   cached_content TEXT NOT NULL,
>   user_id INTEGER NOT NULL,
>   status INTEGER NOT NULL,
>   pubdate INTEGER NOT NULL,
>   updated INTEGER NOT NULL,
>   modified INTEGER NOT NULL,
>   PRIMARY KEY (id),
>   UNIQUE (slug)
> );
>
> CREATE TABLE {$prefix}postinfo (
>   post_id BIGINT NOT NULL,
>   name VARCHAR(255) NOT NULL,
>   type INTEGER NOT NULL DEFAULT 0,
>   value TEXT,
>   PRIMARY KEY (post_id,name)
> );
>
> CREATE SEQUENCE {$prefix}posttype_pkey_seq;
> CREATE TABLE {$prefix}posttype (
>   id INTEGER NOT NULL DEFAULT nextval('{$prefix}posttype_pkey_seq'),
>   name VARCHAR(255) NOT NULL,
>   active SMALLINT DEFAULT 1,
>   PRIMARY KEY (id)
> );
>
> CREATE SEQUENCE {$prefix}poststatus_pkey_seq;
> CREATE TABLE {$prefix}poststatus (
>   id INTEGER NOT NULL DEFAULT nextval('{$prefix}poststatus_pkey_seq'),
>   name VARCHAR(255) NOT NULL,
>   internal SMALLINT,
>   PRIMARY KEY (id)
> );
>
> CREATE TABLE {$prefix}options (
>   name VARCHAR(255) NOT NULL,
>   type INTEGER NOT NULL DEFAULT 0,
>   value TEXT,
>   PRIMARY KEY (name)
> );
>
> CREATE SEQUENCE {$prefix}users_pkey_seq;
> CREATE TABLE {$prefix}users (
>   id INTEGER NOT NULL DEFAULT nextval('{$prefix}users_pkey_seq'),
>   username VARCHAR(255) NOT NULL,
>   email VARCHAR(255) NOT NULL,
>   password VARCHAR(255) NOT NULL,
>   PRIMARY KEY (id),
>   UNIQUE (username)
> );
>
> CREATE TABLE {$prefix}userinfo (
>   user_id SMALLINT NOT NULL,
>   name VARCHAR(255) NOT NULL,
>   type INTEGER NOT NULL DEFAULT 0,
>   value TEXT,
>   PRIMARY KEY (user_id,name)
> );
>
> CREATE SEQUENCE {$prefix}comments_pkey_seq;
> CREATE TABLE {$prefix}comments (
>   id BIGINT NOT NULL DEFAULT nextval('{$prefix}comments_pkey_seq'),
>   post_id BIGINT NOT NULL,
>   name VARCHAR(255) NOT NULL,
>   email VARCHAR(255) NOT NULL,
>   url VARCHAR(255) NULL,
>   ip VARCHAR(45) NOT NULL,
>   content TEXT,
>   status INTEGER NOT NULL,
>   date INT NOT NULL,
>   type INTEGER NOT NULL,
>   PRIMARY KEY (id)
> );
>
> CREATE INDEX {$prefix}comments_post_id_key ON {$prefix}comments (
>   post_id
> );
>
> CREATE SEQUENCE {$prefix}commenttype_pkey_seq;
> CREATE TABLE {$prefix}commenttype (
>   id BIGINT NOT NuLL DEFAULT nextval('{$prefix}commenttype_pkey_seq'),
>   name VARCHAR(255) NOT NULL,
>   active INTEGER DEFAULT 1,
>   PRIMARY KEY (id)
> );
>
> CREATE SEQUENCE {$prefix}commentstatus_pkey_seq;
> CREATE TABLE {$prefix}commentstatus (
>   id BIGINT NOT NULL DEFAULT nextval('{$prefix}
> commentstatus_pkey_seq'),
>   name VARCHAR(255) NOT NULL,
>   internal INTEGER DEFAULT 1,
>   PRIMARY KEY (ID)
> );
>
> CREATE TABLE {$prefix}commentinfo (
>   comment_id BIGINT NOT NULL,
>   name VARCHAR(255) NOT NULL,
>   type INTEGER NOT NULL DEFAULT 0,
>   value TEXT NULL,
>   PRIMARY KEY (comment_id,name)
> );
>
> CREATE SEQUENCE {$prefix}rewrite_rules_pkey_seq;
> CREATE TABLE {$prefix}rewrite_rules (
>   rule_id INTEGER NOT NULL DEFAULT nextval('{$prefix}
> rewrite_rules_pkey_seq'),
>   name VARCHAR(255) NOT NULL,
>   parse_regex VARCHAR(255) NOT NULL,
>   build_str VARCHAR(255) NOT NULL,
>   handler VARCHAR(255) NOT NULL,
>   action VARCHAR(255) NOT NULL,
>   priority INTEGER NOT NULL,
>   is_active INTEGER NOT NULL DEFAULT 0,
>   rule_class INTEGER NOT NULL DEFAULT 0,
>   description TEXT NULL,
>   parameters TEXT NULL,
>   PRIMARY KEY (rule_id)
> );
>
> CREATE SEQUENCE {$prefix}crontab_pkey_seq;
> CREATE TABLE {$prefix}crontab (
>   cron_id INTEGER NOT NULL DEFAULT nextval('{$prefix}
> crontab_pkey_seq'),
>   name VARCHAR(255) NOT NULL,
>   callback VARCHAR(255) NOT NULL,
>   last_run INTEGER,
>   next_run INTEGER NOT NULL,
>   increment INTEGER NOT NULL,
>   start_time INTEGER NOT NULL,
>   end_time INTEGER,
>   result VARCHAR(255) NOT NULL,
>   notify VARCHAR(255) NOT NULL,
>   cron_class SMALLINT NOT NULL DEFAULT 0,
>   description TEXT NULL,
>   PRIMARY KEY (cron_id)
> );
>
> CREATE SEQUENCE {$prefix}log_pkey_seq;
> CREATE TABLE {$prefix}log (
>   id BIGINT NOT NULL DEFAULT nextval('{$prefix}log_pkey_seq'),
>   user_id INTEGER NULL DEFAULT NULL,
>   type_id INTEGER NOT NULL,
>   severity_id SMALLINT NOT NULL,
>   message VARCHAR(255) NOT NULL,
>   data BYTEA NULL,
>   timestamp INT NOT NULL,
>   ip VARCHAR(45) NOT NULL,
>   PRIMARY KEY (id)
> );
>
> CREATE SEQUENCE {$prefix}log_types_pkey_seq;
> CREATE TABLE {$prefix}log_types (
>   id INTEGER NOT NULL DEFAULT nextval('{$prefix}log_types_pkey_seq'),
>   module VARCHAR(100) NOT NULL,
>   type VARCHAR(100) NOT NULL,
>   PRIMARY KEY (id),
>   UNIQUE (module,type)
> );
>
> CREATE SEQUENCE {$prefix}groups_pkey_seq;
> CREATE TABLE {$prefix}groups (
>   id INTEGER NOT NULL DEFAULT nextval('{$prefix}groups_pkey_seq'),
>   name VARCHAR(255) NOT NULL,
>   PRIMARY KEY (id),
>   UNIQUE (name)
> );
>
> CREATE SEQUENCE {$prefix}users_groups_pkey_seq;
> CREATE TABLE {$prefix}users_groups (
>   id INTEGER NOT NULL DEFAULT nextval('{$prefix}
> users_groups_pkey_seq'),
>   user_id INTEGER NOT NULL,
>   group_id INTEGER NOT NULL,
>   PRIMARY KEY (id),
>   UNIQUE (user_id,group_id)
> );
>
> CREATE TABLE {$prefix}sessions (
>   token varchar(255) NOT NULL,
>   ip VARCHAR(45) NOT NULL,
>   expires BIGINT NOT NULL DEFAULT 0,
>   ua VARCHAR(255) NOT NULL,
>   data TEXT,
>   user_id INTEGER,
>   PRIMARY KEY (token)
> );
>
> CREATE SEQUENCE {$prefix}terms_pkey_seq;
> CREATE TABLE {$prefix}terms (
>   id INTEGER NOT NULL DEFAULT nextval('{$prefix}terms_pkey_seq'),
>   term VARCHAR(255) NOT NULL,
>   term_display VARCHAR(255) NOT NULL,
>   vocabulary_id INTEGER NOT NULL,
>   mptt_left INTEGER NOT NULL,
>   mptt_right INTEGER NOT NULL,
>   PRIMARY KEY (id),
>   UNIQUE (vocabulary_id,mptt_right,mptt_left),
>   UNIQUE (vocabulary_id,term)
> );
>
> CREATE TABLE {$prefix}terminfo (
>   term_id BIGINT NOT NULL,
>   name VARCHAR(255) NOT NULL,
>   type INTEGER NOT NULL DEFAULT 0,
>   value TEXT NULL,
>   PRIMARY KEY (term_id,name)
> );
>
> CREATE SEQUENCE {$prefix}vocabularies_pkey_seq;
> CREATE TABLE {$prefix}vocabularies (
>   id INTEGER NOT NULL DEFAULT nextval('{$prefix}
> vocabularies_pkey_seq'),
>   name VARCHAR(255) NOT NULL,
>   description TEXT,
>         features TEXT,
>   PRIMARY KEY (id)
> );
>
> CREATE TABLE {$prefix}object_terms (
>   object_id INTEGER NOT NULL,
>   term_id INTEGER NOT NULL,
>   object_type_id INTEGER NOT NULL,
>   PRIMARY KEY (object_id, term_id)
> );
>
> CREATE SEQUENCE {$prefix}object_types_pkey_seq;
> CREATE TABLE {$prefix}object_types (
>   id INTEGER NOT NULL DEFAULT nextval('{$prefix}
> object_types_pkey_seq'),
>   name VARCHAR(50),
>   PRIMARY KEY (id)
> );
>
> INSERT INTO {$prefix}object_types (name) VALUES ('post');
>
> CREATE SEQUENCE {$prefix}tokens_pkey_seq;
> CREATE TABLE {$prefix}tokens (
>   id INTEGER NOT NULL DEFAULT nextval('{$prefix}tokens_pkey_seq'),
>   name VARCHAR(255) NOT NULL,
>   description VARCHAR(255) NULL,
>   token_type INT NOT NULL DEFAULT 0,
>   token_group VARCHAR(255) NULL,
>   PRIMARY KEY (id),
>   UNIQUE (name)
> );
>
> CREATE TABLE {$prefix}post_tokens (
>   post_id INTEGER NOT NULL,
>   token_id INTEGER NOT NULL,
>   PRIMARY KEY (post_id, token_id)
> );
>
> CREATE TABLE {$prefix}group_token_permissions (
>   group_id INTEGER NOT NULL,
>   token_id INTEGER NOT NULL,
>   access_mask SMALLINT NOT NULL,
>   PRIMARY KEY (group_id, token_id)
> );
>
> CREATE TABLE {$prefix}user_token_permissions (
>   user_id INTEGER NOT NULL,
>   token_id INTEGER NOT NULL,
>   access_mask SMALLINT NOT NULL,
>   PRIMARY KEY (user_id, token_id)
> );
>
> CREATE SEQUENCE {$prefix}scopes_pkey_seq;
> CREATE TABLE {$prefix}scopes (
>   id INTEGER NOT NULL DEFAULT nextval('{$prefix}scopes_pkey_seq'),
>   name VARCHAR(255) NOT NULL,
>   criteria TEXT NOT NULL,
>   description TEXT NULL,
>   priority SMALLINT NOT NULL,
>   PRIMARY KEY (id)
> );
>
> CREATE SEQUENCE {$prefix}blocks_pkey_seq;
> CREATE TABLE {$prefix}blocks (
>   id INTEGER NOT NULL DEFAULT nextval('{$prefix}blocks_pkey_seq'),
>   title VARCHAR(255) NOT NULL,
>   type VARCHAR(255) NOT NULL,
>   data TEXT NULL,
>   PRIMARY KEY (id)
> );
>
> CREATE SEQUENCE {$prefix}blocks_areas_pkey_seq;
> CREATE TABLE {$prefix}blocks_areas (
>   id INTEGER NOT NULL DEFAULT nextval('{$prefix}
> blocks_areas_pkey_seq'),
>   block_id INTEGER NOT NULL,
>   area VARCHAR(255) NOT NULL,
>   scope_id INTEGER NOT NULL,
>   PRIMARY KEY (id),
>   display_order INTEGER NOT NULL DEFAULT 0
> );
> ====
>
> ====upgrade.sql====
> BEGIN;    /* Transactional DDL FTW take that MySQL */
> DROP SEQUENCE IF EXISTS {$prefix}tags_pkey_seq;
>
> CREATE SEQUENCE {$prefix}commenttype_pkey_seq;
> CREATE TABLE {$prefix}commenttype (
>   id BIGINT NOT NuLL DEFAULT nextval('{$prefix}commenttype_pkey_seq'),
>   name VARCHAR(255) NOT NULL,
>   active INTEGER DEFAULT 1,
>   PRIMARY KEY (id)
> );
>
> CREATE SEQUENCE {$prefix}commentstatus_pkey_seq;
> CREATE TABLE {$prefix}commentstatus (
>   id BIGINT NOT NULL DEFAULT nextval('{$prefix}
> commentstatus_pkey_seq'),
>   name VARCHAR(255) NOT NULL,
>   internal INTEGER DEFAULT 1,
>   PRIMARY KEY (id)
> );
>
> CREATE TABLE {$prefix}terminfo (
>         term_id bigint NOT NULL,
>         name character varying(255) NOT NULL,
>         type integer DEFAULT 0 NOT NULL,
>         "value" text,
>         PRIMARY KEY (term_id,name)
> );
>
> ALTER TABLE {$prefix}comments
>         ALTER COLUMN ip TYPE character varying(45) /* TYPE change - table:
> comments original: bigint new: character varying(45) */;
>
> ALTER TABLE {$prefix}log
>         ALTER COLUMN ip TYPE character varying(45) /* TYPE change - table:
> log original: bigint new: character varying(45) */,
>         ALTER COLUMN ip DROP DEFAULT;
>
> ALTER TABLE {$prefix}sessions
>         DROP COLUMN subnet,
>         ADD COLUMN ip character varying(45) NOT NULL defaut '';
> COMMIT;
> ====

-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/habari-users

Reply via email to