Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

All other Modules /

Discuss all other Modules here.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba

Undefined variable: alterList


Go to End


3 Posts   2148 Views

Avatar
faraway

Community Member, 1 Post

27 July 2009 at 2:25am

Hi comunity, I'm very exiting with silverstripe but as a newbie I have some problems with certain things.
When I try to install any module I get the following error on db/build process: Undefined variable: alterList.

Can you help me please?
Thanks a lot

More details here:

http://localhost/SilverStripe-test1/db/build

Building Database SS_mysite_test1

Creating database tables
# PageComment
# CalendarDateTime
# ICSFeed
# RecurringDayOfMonth
# RecurringDayOfWeek
# RecurringException
# SiteTree
# Field SiteTree.ClassName: changed to enum('SiteTree','Page','GhostPage','Calendar','CalendarEvent','ErrorPage','RedirectorPage','VirtualPage') character set utf8 collate utf8_general_ci default 'SiteTree' (from enum('SiteTree','Page','GhostPage','ErrorPage','RedirectorPage','VirtualPage') character set utf8 collate utf8_general_ci default 'SiteTree')
# Field SiteTree_Live.ClassName: changed to enum('SiteTree','Page','GhostPage','Calendar','CalendarEvent','ErrorPage','RedirectorPage','VirtualPage') character set utf8 collate utf8_general_ci default 'SiteTree' (from enum('SiteTree','Page','GhostPage','ErrorPage','RedirectorPage','VirtualPage') character set utf8 collate utf8_general_ci default 'SiteTree')
# Field SiteTree_versions.ClassName: changed to enum('SiteTree','Page','GhostPage','Calendar','CalendarEvent','ErrorPage','RedirectorPage','VirtualPage') character set utf8 collate utf8_general_ci default 'SiteTree' (from enum('SiteTree','Page','GhostPage','ErrorPage','RedirectorPage','VirtualPage') character set utf8 collate utf8_general_ci default 'SiteTree')
# Email_BounceRecord
# QueuedEmail
# File
# Group
# LoginAttempt
# Member
# MemberPassword
# Permission
# Widget
# WidgetArea
# Page
# GhostPage
# Calendar
# Table Calendar: created
# Field Calendar.ID: created as int(11) not null auto_increment
# Field Calendar.DefaultEventDisplay: created as int(11) not null default '0'
# Field Calendar.DefaultDateHeader: created as varchar(50) character set utf8 collate utf8_general_ci
# Field Calendar.OtherDatesCount: created as int(11) not null default '0'
# Table Calendar_Live: created
# Field Calendar_Live.ID: created as int(11) not null auto_increment
# Field Calendar_Live.DefaultEventDisplay: created as int(11) not null default '0'
# Field Calendar_Live.DefaultDateHeader: created as varchar(50) character set utf8 collate utf8_general_ci
# Field Calendar_Live.OtherDatesCount: created as int(11) not null default '0'
# Table Calendar_versions: created
# Field Calendar_versions.ID: created as int(11) not null auto_increment
# Field Calendar_versions.RecordID: created as int(11) not null default '0'
# Field Calendar_versions.Version: created as int(11) not null default '0'
# Field Calendar_versions.WasPublished: created as tinyint(1) unsigned not null default '0'
# Field Calendar_versions.AuthorID: created as int(11) not null default '0'
# Field Calendar_versions.PublisherID: created as int(11) not null default '0'
# Field Calendar_versions.DefaultEventDisplay: created as int(11) not null default '0'
# Field Calendar_versions.DefaultDateHeader: created as varchar(50) character set utf8 collate utf8_general_ci
# Field Calendar_versions.OtherDatesCount: created as int(11) not null default '0'
# Index Calendar_versions.RecordID_Version: created as (RecordID,Version)
# Index Calendar_versions.RecordID: created as (RecordID)
# Index Calendar_versions.Version: created as (Version)
# Index Calendar_versions.AuthorID: created as (AuthorID)
# Index Calendar_versions.PublisherID: created as (PublisherID)
# CalendarEvent
# Table CalendarEvent: created
# Field CalendarEvent.ID: created as int(11) not null auto_increment
# Field CalendarEvent.Recursion: created as tinyint(1) unsigned not null default '0'
# Field CalendarEvent.CustomRecursionType: created as int(11) not null default '0'
# Field CalendarEvent.DailyInterval: created as int(11) not null default '0'
# Field CalendarEvent.WeeklyInterval: created as int(11) not null default '0'
# Field CalendarEvent.MonthlyInterval: created as int(11) not null default '0'
# Field CalendarEvent.MonthlyRecursionType1: created as int(11) not null default '0'
# Field CalendarEvent.MonthlyRecursionType2: created as int(11) not null default '0'
# Field CalendarEvent.MonthlyIndex: created as int(11) not null default '0'
# Field CalendarEvent.MonthlyDayOfWeek: created as int(11) not null default '0'
# Field CalendarEvent.CalendarID: created as int(11) not null default '0'
# Index CalendarEvent.CalendarID: created as (CalendarID)
# Table CalendarEvent_RecurringDaysOfWeek: created
# Field CalendarEvent_RecurringDaysOfWeek.ID: created as int(11) not null auto_increment
# Field CalendarEvent_RecurringDaysOfWeek.CalendarEventID: created as int(11) not null default '0'
# Field CalendarEvent_RecurringDaysOfWeek.RecurringDayOfWeekID: created as int(11) not null default '0'
# Index CalendarEvent_RecurringDaysOfWeek.CalendarEventID: created as (CalendarEventID)
# Index CalendarEvent_RecurringDaysOfWeek.RecurringDayOfWeekID: created as (RecurringDayOfWeekID)
# Table CalendarEvent_RecurringDaysOfMonth: created
# Field CalendarEvent_RecurringDaysOfMonth.ID: created as int(11) not null auto_increment
# Field CalendarEvent_RecurringDaysOfMonth.CalendarEventID: created as int(11) not null default '0'
# Field CalendarEvent_RecurringDaysOfMonth.RecurringDayOfMonthID: created as int(11) not null default '0'
# Index CalendarEvent_RecurringDaysOfMonth.CalendarEventID: created as (CalendarEventID)
# Index CalendarEvent_RecurringDaysOfMonth.RecurringDayOfMonthID: created as (RecurringDayOfMonthID)
# Table CalendarEvent_Live: created
# Field CalendarEvent_Live.ID: created as int(11) not null auto_increment
# Field CalendarEvent_Live.Recursion: created as tinyint(1) unsigned not null default '0'
# Field CalendarEvent_Live.CustomRecursionType: created as int(11) not null default '0'
# Field CalendarEvent_Live.DailyInterval: created as int(11) not null default '0'
# Field CalendarEvent_Live.WeeklyInterval: created as int(11) not null default '0'
# Field CalendarEvent_Live.MonthlyInterval: created as int(11) not null default '0'
# Field CalendarEvent_Live.MonthlyRecursionType1: created as int(11) not null default '0'
# Field CalendarEvent_Live.MonthlyRecursionType2: created as int(11) not null default '0'
# Field CalendarEvent_Live.MonthlyIndex: created as int(11) not null default '0'
# Field CalendarEvent_Live.MonthlyDayOfWeek: created as int(11) not null default '0'
# Field CalendarEvent_Live.CalendarID: created as int(11) not null default '0'
# Index CalendarEvent_Live.CalendarID: created as (CalendarID)
# Table CalendarEvent_versions: created
# Field CalendarEvent_versions.ID: created as int(11) not null auto_increment
# Field CalendarEvent_versions.RecordID: created as int(11) not null default '0'
# Field CalendarEvent_versions.Version: created as int(11) not null default '0'
# Field CalendarEvent_versions.WasPublished: created as tinyint(1) unsigned not null default '0'
# Field CalendarEvent_versions.AuthorID: created as int(11) not null default '0'
# Field CalendarEvent_versions.PublisherID: created as int(11) not null default '0'
# Field CalendarEvent_versions.Recursion: created as tinyint(1) unsigned not null default '0'
# Field CalendarEvent_versions.CustomRecursionType: created as int(11) not null default '0'
# Field CalendarEvent_versions.DailyInterval: created as int(11) not null default '0'
# Field CalendarEvent_versions.WeeklyInterval: created as int(11) not null default '0'
# Field CalendarEvent_versions.MonthlyInterval: created as int(11) not null default '0'
# Field CalendarEvent_versions.MonthlyRecursionType1: created as int(11) not null default '0'
# Field CalendarEvent_versions.MonthlyRecursionType2: created as int(11) not null default '0'
# Field CalendarEvent_versions.MonthlyIndex: created as int(11) not null default '0'
# Field CalendarEvent_versions.MonthlyDayOfWeek: created as int(11) not null default '0'
# Field CalendarEvent_versions.CalendarID: created as int(11) not null default '0'
# Index CalendarEvent_versions.RecordID_Version: created as (RecordID,Version)
# Index CalendarEvent_versions.RecordID: created as (RecordID)
# Index CalendarEvent_versions.Version: created as (Version)
# Index CalendarEvent_versions.AuthorID: created as (AuthorID)
# Index CalendarEvent_versions.PublisherID: created as (PublisherID)
# Index CalendarEvent_versions.CalendarID: created as (CalendarID)
# ErrorPage
# RedirectorPage
# VirtualPage
# Image
# Folder
# Image_Cached


[Notice] Undefined variable: alterList
GET /SilverStripe-test1/db/build

Line 199 in C:\wamp\www\SilverStripe-test1\sapphire\core\model\MySQLDatabase.php
Source

190 * @param $newIndexes New indexes, a map of index name => index type
191 * @param $alteredFields Updated fields, a map of field name => field schema
192 * @param $alteredIndexes Updated indexes, a map of index name => index type
193 */
194 public function alterTable($tableName, $newFields = null, $newIndexes = null, $alteredFields = null, $alteredIndexes = null) {
195 $fieldSchemas = $indexSchemas = "";
196
197 if($newFields) foreach($newFields as $k => $v) $alterList[] .= "ADD `$k` $v";
198 if($newIndexes) foreach($newIndexes as $k => $v) $alterList[] .= "ADD " . $this->getIndexSqlDefinition($k, $v);
199 if($alteredFields) foreach($alteredFields as $k => $v) $alterList[] .= "CHANGE `$k` `$k` $v";
200 if($alteredIndexes) foreach($alteredIndexes as $k => $v) {
201 $alterList[] .= "DROP INDEX `$k`";
202 $alterList[] .= "ADD ". $this->getIndexSqlDefinition($k, $v);
203 }
204
205 $alterations = implode(",\n", $alterList);

Trace

* MySQLDatabase->alterTable(SiteTree,Array,Array,Array,Array)
Line 163 of Database.php
* Database->endSchemaUpdate()
Line 197 of DatabaseAdmin.php
* DatabaseAdmin->doBuild(,1)
Line 100 of DatabaseAdmin.php
* DatabaseAdmin->build(HTTPRequest)
Line 162 of Controller.php
* Controller->handleAction(HTTPRequest)
Line 129 of RequestHandler.php
* RequestHandler->handleRequest(HTTPRequest)
Line 122 of Controller.php
* Controller->handleRequest(HTTPRequest)
Line 277 of Director.php
* Director::handleRequest(HTTPRequest,Session)
Line 121 of Director.php
* Director::direct(/db/build)
Line 118 of main.php

Avatar
dbeaugez

Community Member, 1 Post

27 July 2009 at 5:30am

That just happened to me also. It looks like there's a fix already in SVN -- one line of code. Just open the module, MySQLDatabase.php, in your editor.

Find the alterTable function and add $alterList = array(); after $fieldSchemas = $indexSchemas = "";

That worked for me.

Avatar
Hour6

Community Member, 1 Post

6 August 2009 at 3:13pm

Thanks, same thing just happened to me after updating to PHP 5.3, the fix worked like a charm.