# Upgrading OpenEMR

**URL:** <https://community.open-emr.org/t/upgrading-openemr/424>\
**Category:** Management and Administration\
**Created:** [May 13, 2009, 8:07pm UTC](https://community.open-emr.org/t/upgrading-openemr/424 "2009-05-13T20:07:50Z")\
**Posts on this page:** 20\
**Page:** 3

<div class="post-metadata">

**Author:** ![system](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/b/bb9e4e8ae2ea7faac2e952fd9e38a3ce03aac403.png) [@system](https://community.open-emr.org/u/system)\
**Post date:** [May 18, 2009, 6:03pm UTC](https://community.open-emr.org/t/upgrading-openemr/424/41 "2009-05-18T18:03:24Z")

</div>

**[drbowen](https://sourceforge.net/u/drbowen/)** wrote on [Monday, May 18, 2009](https://sourceforge.net/p/openemr/discussion/202505/thread/288a9822/#72b7/1eb0):

Ooops!

I have just upgraded from 2.8.2-dev to 2.8.2&nbsp; but I don’t remember activating the

//&nbsp;&nbsp; $phpgacl\_location = "/var/www/gacl";

I just turned on GACL per Rod’s suggestion and everything started working again.

Soooorrry…

I will proceed.

Sam Bowen

---

<div class="post-metadata">

**Author:** ![system](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/b/bb9e4e8ae2ea7faac2e952fd9e38a3ce03aac403.png) [@system](https://community.open-emr.org/u/system)\
**Post date:** [May 19, 2009, 11:55am UTC](https://community.open-emr.org/t/upgrading-openemr/424/42 "2009-05-19T11:55:11Z")

</div>

**[drbowen](https://sourceforge.net/u/drbowen/)** wrote on [Tuesday, May 19, 2009](https://sourceforge.net/p/openemr/discussion/202505/thread/288a9822/#72b7/ff49):

During

mysql -u openemr -p openemr \< 2\_8\_2-to-2\_8\_3\_upgrade.sql

I get the following error message:

ERROR 1146 (42S02) at line 39: Table ‘openemr.form\_football\_injury\_audit’ doesn’t exist

Thoughts?

Sam Bowen

---

<div class="post-metadata">

**Author:** ![system](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/b/bb9e4e8ae2ea7faac2e952fd9e38a3ce03aac403.png) [@system](https://community.open-emr.org/u/system)\
**Post date:** [May 19, 2009, 1:58pm UTC](https://community.open-emr.org/t/upgrading-openemr/424/43 "2009-05-19T13:58:10Z")

</div>

**[drbowen](https://sourceforge.net/u/drbowen/)** wrote on [Tuesday, May 19, 2009](https://sourceforge.net/p/openemr/discussion/202505/thread/288a9822/#72b7/8fc1):

I just found the instruction to correct the 2\_8\_2-to-2\_8\_3\_upgrade.sql to fix this.

I don’t think I need to patch the calenmdar since I am going to go immeditately to 2.9.0 and then 3.0.1.

Sam Bowen

---

<div class="post-metadata">

**Author:** ![system](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/b/bb9e4e8ae2ea7faac2e952fd9e38a3ce03aac403.png) [@system](https://community.open-emr.org/u/system)\
**Post date:** [May 19, 2009, 3:35pm UTC](https://community.open-emr.org/t/upgrading-openemr/424/44 "2009-05-19T15:35:39Z")

</div>

**[sunsetsystems](https://sourceforge.net/u/sunsetsystems/)** wrote on [Tuesday, May 19, 2009](https://sourceforge.net/p/openemr/discussion/202505/thread/288a9822/#72b7/30ab):

You can upgrade directly to 3.0.1 from 2.8.2 or whatever.&nbsp; That also allows you to use the sql\_upgrade.php script which takes advantage of specially formatted comments in the \*upgrade.sql files to skip parts that are inappropriate (like the one you just encountered).

Rod  
[www.sunsetsystems.com](http://www.sunsetsystems.com)

---

<div class="post-metadata">

**Author:** ![system](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/b/bb9e4e8ae2ea7faac2e952fd9e38a3ce03aac403.png) [@system](https://community.open-emr.org/u/system)\
**Post date:** [May 19, 2009, 4:51pm UTC](https://community.open-emr.org/t/upgrading-openemr/424/45 "2009-05-19T16:51:20Z")

</div>

**[bradymiller](https://sourceforge.net/u/bradymiller/)** wrote on [Tuesday, May 19, 2009](https://sourceforge.net/p/openemr/discussion/202505/thread/288a9822/#72b7/23ab):

Sam,  
Calendar fix is just a cosmetic bug fix specific for version 2.8.3; no need to deal with it if your gonna upgrade. I’d also second Rod’s motion to take the plunge to 3.0.1 (I’d rec either doing on a separate “testing” instance of your data, or having a good backup/restore mechanism in place so you feel more comfortable).  
-brady

---

<div class="post-metadata">

**Author:** ![system](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/b/bb9e4e8ae2ea7faac2e952fd9e38a3ce03aac403.png) [@system](https://community.open-emr.org/u/system)\
**Post date:** [May 19, 2009, 9:50pm UTC](https://community.open-emr.org/t/upgrading-openemr/424/46 "2009-05-19T21:50:09Z")

</div>

**[drbowen](https://sourceforge.net/u/drbowen/)** wrote on [Tuesday, May 19, 2009](https://sourceforge.net/p/openemr/discussion/202505/thread/288a9822/#72b7/6081):

So I just move the 3.0.1 files into the web route and then execute sql\_upgrade.php (from the command line)?

Sam Bowen

---

<div class="post-metadata">

**Author:** ![system](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/b/bb9e4e8ae2ea7faac2e952fd9e38a3ce03aac403.png) [@system](https://community.open-emr.org/u/system)\
**Post date:** [May 19, 2009, 9:58pm UTC](https://community.open-emr.org/t/upgrading-openemr/424/47 "2009-05-19T21:58:08Z")

</div>

**[drbowen](https://sourceforge.net/u/drbowen/)** wrote on [Tuesday, May 19, 2009](https://sourceforge.net/p/openemr/discussion/202505/thread/288a9822/#72b7/67c6):

Oh! I see it is a web page.

I’ll report back after giving it a try.

Thanks, Rod,

Sam Bowen

---

<div class="post-metadata">

**Author:** ![system](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/b/bb9e4e8ae2ea7faac2e952fd9e38a3ce03aac403.png) [@system](https://community.open-emr.org/u/system)\
**Post date:** [May 19, 2009, 10:06pm UTC](https://community.open-emr.org/t/upgrading-openemr/424/48 "2009-05-19T22:06:07Z")

</div>

**[sunsetsystems](https://sourceforge.net/u/sunsetsystems/)** wrote on [Tuesday, May 19, 2009](https://sourceforge.net/p/openemr/discussion/202505/thread/288a9822/#72b7/d225):

Sam, perhaps you already know this, but you also have to customize the new globals.php, sqlconf.php, etc.&nbsp; In the upgrade case there is no script to do that for you like setup.php does.&nbsp; And there is sl\_convert.php if you are converting from sql-ledger.

Rod  
[www.sunsetsystems.com](http://www.sunsetsystems.com)

---

<div class="post-metadata">

**Author:** ![system](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/b/bb9e4e8ae2ea7faac2e952fd9e38a3ce03aac403.png) [@system](https://community.open-emr.org/u/system)\
**Post date:** [May 19, 2009, 10:11pm UTC](https://community.open-emr.org/t/upgrading-openemr/424/49 "2009-05-19T22:11:44Z")

</div>

**[drbowen](https://sourceforge.net/u/drbowen/)** wrote on [Tuesday, May 19, 2009](https://sourceforge.net/p/openemr/discussion/202505/thread/288a9822/#72b7/16c5):

Does the sl\_convert.php transfer billing items out of SQL Ledger?

Sam Bowen

---

<div class="post-metadata">

**Author:** ![system](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/b/bb9e4e8ae2ea7faac2e952fd9e38a3ce03aac403.png) [@system](https://community.open-emr.org/u/system)\
**Post date:** [May 19, 2009, 10:19pm UTC](https://community.open-emr.org/t/upgrading-openemr/424/50 "2009-05-19T22:19:39Z")

</div>

**[sunsetsystems](https://sourceforge.net/u/sunsetsystems/)** wrote on [Tuesday, May 19, 2009](https://sourceforge.net/p/openemr/discussion/202505/thread/288a9822/#72b7/2e49):

Yes.&nbsp; From the comments in the script:

// This may be run after an upgraded OpenEMR has been installed.  
// Its purpose is to extract A/R information from SQL-Ledger and  
// convert it to the OpenEMR tables that maintain A/R internally,  
// thus eliminating SQL-Ledger.

Also see the file named INSTALL in the base directory of the distribution.&nbsp; It has a section at the end about upgrading.

Rod  
[www.sunsetsystems.com](http://www.sunsetsystems.com)

---

<div class="post-metadata">

**Author:** ![system](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/b/bb9e4e8ae2ea7faac2e952fd9e38a3ce03aac403.png) [@system](https://community.open-emr.org/u/system)\
**Post date:** [May 20, 2009, 2:28am UTC](https://community.open-emr.org/t/upgrading-openemr/424/51 "2009-05-20T02:28:56Z")

</div>

**[ideaman911](https://sourceforge.net/u/ideaman911/)** wrote on [Wednesday, May 20, 2009](https://sourceforge.net/p/openemr/discussion/202505/thread/288a9822/#72b7/aac1):

Brady;

You mentioned that ‘Admin’ is now a hard coded “user” which cannot be removed.

Should Tony add in his instructions to DEFINITELY change the password of Admin once everything is working.&nbsp; Otherwise, ANYBODY who has done an install of OpenEMR 3.0.1 will know the back-door way into any installation.&nbsp; I think that is a prima facia HIPAA violation.

Just a thought.&nbsp; That is certainly my advice.

One other thing on that note - my good Sister Marilyn tried to use dollar signs in her password.&nbsp; It took and seemed fine, but then locked her out.&nbsp; So it was good that she had the back-door.&nbsp; Dollar signs are NOT acceptable in the password.

Joe Holzer&nbsp;&nbsp;&nbsp; Idea Man  
[http://www.holzerent.com](http://www.holzerent.com)

---

<div class="post-metadata">

**Author:** ![system](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/b/bb9e4e8ae2ea7faac2e952fd9e38a3ce03aac403.png) [@system](https://community.open-emr.org/u/system)\
**Post date:** [May 20, 2009, 6:48am UTC](https://community.open-emr.org/t/upgrading-openemr/424/52 "2009-05-20T06:48:18Z")

</div>

**[bradymiller](https://sourceforge.net/u/bradymiller/)** wrote on [Wednesday, May 20, 2009](https://sourceforge.net/p/openemr/discussion/202505/thread/288a9822/#72b7/eed1):

Joe,

&nbsp; To clarify my previous statement; in the admin-\>acl menu you just can’t remove the ‘admin’ user from the ‘administrator’ group. You’ll get a warning if you try to do it (this is a safeguard since is an easy mistake to make).&nbsp; Otherwise, it’s just like any other user; you can disable ‘admin’ user in admin-\>users menu by unchecking that users ‘active’ toggle.

&nbsp; I think Tony showed how to change password at beginning of manual.

&nbsp; Tried the $ in password, and worked fine for me. That’s not to say your sister just forgot her password; possibly an encoding issue difference in IE vs Firefox. I’m actually getting passwords to work with chinese and arabic charcters on the cvs demo (that’s gotta be secure…).

-brady

---

<div class="post-metadata">

**Author:** ![system](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/b/bb9e4e8ae2ea7faac2e952fd9e38a3ce03aac403.png) [@system](https://community.open-emr.org/u/system)\
**Post date:** [May 21, 2009, 2:39pm UTC](https://community.open-emr.org/t/upgrading-openemr/424/53 "2009-05-21T14:39:11Z")

</div>

**[drbowen](https://sourceforge.net/u/drbowen/)** wrote on [Thursday, May 21, 2009](https://sourceforge.net/p/openemr/discussion/202505/thread/288a9822/#72b7/2c9c):

I have created user:

admin:pass

I have changed the ownership on the following files:

chown -R apache:apache /var/www/html/openemr/interface/main/calendar/modules/PostCalendar/pntemplates/cache  
chown -R apache:apache /var/www/html/openemr/interface/main/calendar/modules/PostCalendar/pntemplates/compiled  
chown -R apache:apache /var/www/html/openemr/edi  
chown -R apache:apache /var/www/html/openemr/era  
chown -R apache:apache /var/www/html/openemr/documents  
chown -R apache:apache /var/www/html/openemr/custom/letter\_templates  
chown -R apache:apache /var/www/html/openemr/gacl/admin/templates\_c  
chown -R apache:apache /var/www/html/openemr/library/freeb

I have set the correct path in:

openemr/interface/globals.php

I have configured host, port, user, database in:

openemr/library/sqlconf.php  
openemr/gacl/gacl.ini.php  
openemr/gacl/gacl.class.php

I didn’t see anything to change in:

openemr/library/acl.inc  
interface/config.php

In&nbsp; gacl.class.php I wasn’t sure what to do with:

[code]  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /\*\* @var object An ADODB database connector object \*/  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var $\_db = ‘’; I  
[/code]

I executed openemr/sql\_upgrade.php&nbsp; which inserted 733 SQL statements and ended without error.

I then tried to execute:

acl\_setup.php

which failed giving the error message:

"Unable to create the access controls for OpenEMR.&nbsp; You have likely already run this script (acl\_setup.php) successfully. Other possible problems include php-GACL configuration file errors (gacl.ini.php or gacl.class.php)."

There are no gacl\_tables in the openemr mysql directory.

On trying to log in with admin:pass I am get red error massages stating I had an invalid user.

(Currently, I reverted to my backup and am operating as 2.8.2.)

So, what do you guys think?

Sam Bowen

---

<div class="post-metadata">

**Author:** ![system](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/b/bb9e4e8ae2ea7faac2e952fd9e38a3ce03aac403.png) [@system](https://community.open-emr.org/u/system)\
**Post date:** [May 21, 2009, 2:54pm UTC](https://community.open-emr.org/t/upgrading-openemr/424/54 "2009-05-21T14:54:25Z")

</div>

**[bradymiller](https://sourceforge.net/u/bradymiller/)** wrote on [Thursday, May 21, 2009](https://sourceforge.net/p/openemr/discussion/202505/thread/288a9822/#72b7/f910):

Here’s a reminder of the steps for your custom upgrade:  
1) Move old openemr directory to a backup directory&nbsp;  
2) Move new version into openemr directory&nbsp;  
3) Copy openemr/library/sqlconf.php file from old version into the new version&nbsp;  
4) Edit openemr/interface/globals.php (set $webserver\_root and $web\_root to be same as old version)&nbsp;  
5) Open up your openemr/library/sqlconf.php file and note the variables for host, login, pass, and dbase variables (I’d suggest writing these on a piece of paper in the order listed). Then place these values (with above ordering) in the corresponding blank variables found in openemr/gacl/gacl.ini.php (host, user, password, name) and openemr/gacl/gacl.class.php (db\_host, db\_user, db\_password, db\_name). Don’t touch anything else in these files.  
6) Open sql\_upgrade.php in browser and follow instructions (this will upgrade your sql database)  
7) Open in browser openemr/gacl/setup.php (installs new embedded gacl tables)  
8) Open in browser openemr/acl\_setup.php (configure gacl for openemr - this script also makes admin access for the ‘admin’ user. This is why you should make an admin user before the upgrade.)  
9) Configure optional settings in interface/globals.php and includes/config.php files  
10) Log in as ‘admin’ and set gacl stuff for users at acl-\>admin

So close. Looks like you just need to do step 7. (This installs generic phpgacl, then step 8 configures for openemr), also, don’t touch the ADODB thing in gacl.class.php.

-brady

---

<div class="post-metadata">

**Author:** ![system](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/b/bb9e4e8ae2ea7faac2e952fd9e38a3ce03aac403.png) [@system](https://community.open-emr.org/u/system)\
**Post date:** [May 30, 2009, 4:02pm UTC](https://community.open-emr.org/t/upgrading-openemr/424/55 "2009-05-30T16:02:01Z")

</div>

**[drbowen](https://sourceforge.net/u/drbowen/)** wrote on [Saturday, May 30, 2009](https://sourceforge.net/p/openemr/discussion/202505/thread/288a9822/#72b7/1222):

GOOD MORNING!

I am at it again bright and early Saturday morning on the East Coast.&nbsp; This is a long post because I have included all the information in&nbsp; the steps that I have taken and all the error messages that I can find.

I am trying to run #7) Open in browser openemr/gacl/setup.php (installs new embedded gacl tables)

As a reminder since this is such a long thread:

Apache 2.2.9-r1  
MySQL 5.0.70-r1  
PHP 5.2.8-r1  
OpenEMR 2.8.2 upgrading to 3.0.1

I have trying Rod’s and Brady’s advice and jumping from 2.8.2 to 3.0.1.

I backed up everything.

I have created admin:pass&nbsp; (and tested it repeatedly)

I moved everything over to a backup server and have disabled / deleted the old phpGACL installation since it had a lot of errors.&nbsp; I removed the httpd.conf include statement to the old gacl installation.&nbsp; I dropped the original gacl database from the mysql.

I moved openemr to openemr-2.8.2 and moved openemr-3.0.1 to openemr.&nbsp; I made all the permission changes and changes to globals.php. sqlconf.php, config.php, openemr/gacl/gacl.ini.php, and openemr/gacl/gacl.class.php.&nbsp;

I have already previously executed sql\_upgrade.php which inserted 733 sql statements and terminated normally.

In php.ini I have the following:

[code]  
error\_reporting&nbsp; =&nbsp; E\_ALL & ~E\_NOTICE  
display\_errors = On  
display\_startup\_errors = Off  
log\_errors = On  
error\_log = /var/log/php.err  
[/code]

The following error message states:&nbsp; "(set it to TRUE in $gacl\_options near top of admin/gacl\_admin.inc.php)"

The only debug variable I can find is in openemr/gacl/gacl.class.php  
I set:  
var $\_debug = TRUE;

I gracefully restarted apache.  
I cleared my private data in firefox, cleared the cache and then restarted firefox "for good luck."

When I try to log in I get the following:

There are a couple of unusually long pauses but the login page does come up.

[output]  
get\_object\_id(): Section Value: users Value: admin Object Type: aro

(mysql): SELECT id FROM gacl\_aro WHERE section\_value=‘users’ AND value=‘admin’&nbsp;&nbsp;

get\_object\_id(): Returned 0 rows

Warning: Cannot modify header information - headers already sent by (output started at /var/www/localhost/htdocs/openemr/gacl/gacl.class.php:186) in /var/www/localhost/htdocs/openemr/library/auth.inc on line 148  
[/output]

This is not unexpected since I have not installed the new gacl.

When I run:  
openemr/gacl/setup.php

I get:  
[output]  
Option: debug  
Valid Config options: debug  
Configuration:  
driver = mysql,  
host = localhost,  
user = openemr,  
database = openemr,  
table prefix = gacl\_Testing database connection…  
Success! Connected to "mysql" database on "localhost".  
Testing database type…  
Success! Compatible database type "mysql" detected!  
Making sure database "openemr" exists…  
Success! Good, database "openemr" already exists!  
Failed! Failed creating tables. Please enable DEBUG mode (set it to TRUE in $gacl\_options near top of admin/gacl\_admin.inc.php) to see the error and try again. You will most likely need to delete any tables already created.  
Failed! Please fix the above errors and try again.  
[/output]

Some of the tables are created:  
gacl\_acl  
gacl\_acl\_sections  
gacl\_aco  
gacl\_aco\_sections  
gacl\_aro  
gacl\_aro\_groups  
gacl\_aro\_groups\_map  
gacl\_aro\_sections  
gacl\_axo  
gacl\_axo\_groups  
gacl\_axo\_groups\_map  
gacl\_axo\_sections  
gacl\_groups\_aro\_map  
gacl\_groups\_axo\_map  
gacl\_phpgacl

But to me some of them seem to missing:

gacl\_acl\_seq  
gacl\_aco\_map  
gacl\_aco\_sections\_seq  
gacl\_aco\_seq  
gacl\_aro\_groups\_id\_seq  
gacl\_aro\_sections\_seq  
gacl\_aro\_seq  
gacl\_axo\_map

For error messages I get the following:  
tail /var/log/php.err  
tail /var/log/mysql/mysqld.err  
are both empty.

tail /var/log/apache2/error\_log:

[Sat May 30 11:09:55 2009] [error] [client 192.168.100.53] File does not exist: /var/www/localhost/htdocs/pics, referer: [http://leia/](http://leia/)

[Sat May 30 11:10:24 2009] [error] [client 192.168.100.53] PHP Warning:&nbsp; Cannot modify header information - headers already sent by (output started at /var/www/localhost/htdocs/openemr/gacl/gacl.class.php:186) in /var/www/localhost/htdocs/openemr/library/auth.inc on line 148, referer: [http://leia/openemr/interface/login/login.php](http://leia/openemr/interface/login/login.php)

tail /var/log/php.err  
tail /var/log/mysql/mysqld.err  
are both empty.

So I am back to I need some help and I hope you guys have some ideas about where to proceed from here.

Sam Bowen, MD

---

<div class="post-metadata">

**Author:** ![system](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/b/bb9e4e8ae2ea7faac2e952fd9e38a3ce03aac403.png) [@system](https://community.open-emr.org/u/system)\
**Post date:** [May 30, 2009, 7:26pm UTC](https://community.open-emr.org/t/upgrading-openemr/424/56 "2009-05-30T19:26:06Z")

</div>

**[drbowen](https://sourceforge.net/u/drbowen/)** wrote on [Saturday, May 30, 2009](https://sourceforge.net/p/openemr/discussion/202505/thread/288a9822/#72b7/66d0):

From the gacl/setup.php there is a comment:

// Execute the SQL on the database  
#ADODB’s xmlschema is being lame, continue on error.  
$schema-\>ContinueOnError(TRUE);  
$result = $schema-\>ExecuteSchema();

I guess it is possible that this is not a real error?

Sam Bowen, MD

---

<div class="post-metadata">

**Author:** ![system](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/b/bb9e4e8ae2ea7faac2e952fd9e38a3ce03aac403.png) [@system](https://community.open-emr.org/u/system)\
**Post date:** [May 31, 2009, 3:40pm UTC](https://community.open-emr.org/t/upgrading-openemr/424/57 "2009-05-31T15:40:24Z")

</div>

**[bradymiller](https://sourceforge.net/u/bradymiller/)** wrote on [Sunday, May 31, 2009](https://sourceforge.net/p/openemr/discussion/202505/thread/288a9822/#72b7/fe90):

hey,

First,  
Try setting the debug flag in openemr/gacl/gacl.ini.php to true (put the other one back to false). This will then produce a huge amount of useful output during gacl install.

Second,  
Kind of wondering if this is going to be the issue, but will wait for the error log (ensure your mysql isn’t defaulted to creating utf-8 databases):  
[https://sourceforge.net/forum/forum.php?thread\_id=3068329&forum\_id=202504](https://sourceforge.net/forum/forum.php?thread_id=3068329&forum_id=202504)

Third (unrelated to your problem):  
Make display\_errors = Off in your php.ini. If on, can break ajax stuff in openemr.  
(I’ve actually placed a list of rec. php settings in the [oemr.org](http://oemr.org) FAQ)

-brady

---

<div class="post-metadata">

**Author:** ![system](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/b/bb9e4e8ae2ea7faac2e952fd9e38a3ce03aac403.png) [@system](https://community.open-emr.org/u/system)\
**Post date:** [May 31, 2009, 5:48pm UTC](https://community.open-emr.org/t/upgrading-openemr/424/58 "2009-05-31T17:48:45Z")

</div>

**[bo2999](https://sourceforge.net/u/bo2999/)** wrote on [Sunday, May 31, 2009](https://sourceforge.net/p/openemr/discussion/202505/thread/288a9822/#72b7/46e7):

Hi,

\<openemr\>/gacl/gacl.class.php never seems to work for me.&nbsp; I always see the complaints "Failed! Failed creating tables."

You may try

1) delete all gacl\_ tables  
2) run \<openemr\>/acl\_setup.php

Just a thought.!

Bo

---

<div class="post-metadata">

**Author:** ![system](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/b/bb9e4e8ae2ea7faac2e952fd9e38a3ce03aac403.png) [@system](https://community.open-emr.org/u/system)\
**Post date:** [May 31, 2009, 9:09pm UTC](https://community.open-emr.org/t/upgrading-openemr/424/59 "2009-05-31T21:09:12Z")

</div>

**[drbowen](https://sourceforge.net/u/drbowen/)** wrote on [Sunday, May 31, 2009](https://sourceforge.net/p/openemr/discussion/202505/thread/288a9822/#72b7/38f1):

I just tried an end around run.

I created a new installation of openemr-3.0.1 from scratch.

I stopped the mysql engine.

I moved the new mysql to mysql-3.0.1-new-installation

I swapped the old /var/lib/mysql-2.8.2 into

/var/lib/mysql/

I copied mysql-3.0.1-new-installation/openemr/gacl\*&nbsp; to /var/lib/mysql/openemr/

I then restarted the mysql engine.

I can now log in as admin:pass and my patient data seems to be there.&nbsp; I tried a few queries and found the patients etc.

Unfortunately my new admin is being treated as a unprivileged user.

So, will it be easier to "break in" and restore the privileges of "admin" to the administrative user.&nbsp; Or proceed with the attempt at upgrading the old 2.8.2 to 3.0.1 using the debugging?

Sam Bowen, MD

---

<div class="post-metadata">

**Author:** ![system](https://discourse-uploads-openemr.s3.dualstack.us-east-1.amazonaws.com/original/2X/b/bb9e4e8ae2ea7faac2e952fd9e38a3ce03aac403.png) [@system](https://community.open-emr.org/u/system)\
**Post date:** [May 31, 2009, 9:35pm UTC](https://community.open-emr.org/t/upgrading-openemr/424/60 "2009-05-31T21:35:27Z")

</div>

**[drbowen](https://sourceforge.net/u/drbowen/)** wrote on [Sunday, May 31, 2009](https://sourceforge.net/p/openemr/discussion/202505/thread/288a9822/#72b7/8ddb):

OK I went back to the original version openemr-2.8.2 database of mysql.&nbsp; I had changed the php.ini flags as recommended in the openemr/setup.php.

executing openemr/acl\_setup.php&nbsp; gave an error message that I had already set up the database.

executing openemr/gacl/setup.php gave the following output on the screen:

Option: db\_type  
Valid Config options: db\_type  
Option: db\_host  
Valid Config options: db\_host  
Option: db\_user  
Valid Config options: db\_user  
Option: db\_password  
Valid Config options: db\_password  
Option: db\_name  
Valid Config options: db\_name  
Option: db\_table\_prefix  
Valid Config options: db\_table\_prefix  
Option: caching  
Valid Config options: caching  
Option: force\_cache\_expire  
Valid Config options: force\_cache\_expire  
Option: cache\_dir  
Valid Config options: cache\_dir  
Option: cache\_expire\_time  
Valid Config options: cache\_expire\_time  
Option: items\_per\_page  
Valid Config options: items\_per\_page  
Option: max\_select\_box\_items  
Valid Config options: max\_select\_box\_items  
Option: max\_search\_return\_items  
Valid Config options: max\_search\_return\_items  
Option: smarty\_dir  
ERROR: Config option: smarty\_dir is not a valid option  
Option: smarty\_template\_dir  
ERROR: Config option: smarty\_template\_dir is not a valid option  
Option: smarty\_compile\_dir  
ERROR: Config option: smarty\_compile\_dir is not a valid option  
Configuration:  
driver = mysql,  
host = localhost,  
user = openemr,  
database = openemr,  
table prefix = gacl\_Testing database connection…  
Success! Connected to “mysql” database on “localhost”.  
Testing database type…  
Success! Compatible database type “mysql” detected!  
Making sure database “openemr” exists…  
(mysql): show databases&nbsp;&nbsp; Success! Good, database “openemr” already exists!  
(mysql): select version()&nbsp;&nbsp; (mysql): SHOW INDEX FROM gacl\_phpgacl&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_phpgacl’ doesn’t exist  
(mysql): SHOW COLUMNS FROM `gacl_phpgacl`&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_phpgacl’ doesn’t exist  
(mysql): SHOW INDEX FROM gacl\_acl&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_acl’ doesn’t exist  
(mysql): SHOW COLUMNS FROM `gacl_acl`&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_acl’ doesn’t exist  
(mysql): SHOW INDEX FROM gacl\_acl\_sections&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_acl\_sections’ doesn’t exist  
(mysql): SHOW COLUMNS FROM `gacl_acl_sections`&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_acl\_sections’ doesn’t exist  
(mysql): SHOW INDEX FROM gacl\_aco&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_aco’ doesn’t exist  
(mysql): SHOW COLUMNS FROM `gacl_aco`&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_aco’ doesn’t exist  
(mysql): SHOW INDEX FROM gacl\_aco\_map&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_aco\_map’ doesn’t exist  
(mysql): SHOW COLUMNS FROM `gacl_aco_map`&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_aco\_map’ doesn’t exist  
(mysql): SHOW INDEX FROM gacl\_aco\_sections&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_aco\_sections’ doesn’t exist  
(mysql): SHOW COLUMNS FROM `gacl_aco_sections`&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_aco\_sections’ doesn’t exist  
(mysql): SHOW INDEX FROM gacl\_aro&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_aro’ doesn’t exist  
(mysql): SHOW COLUMNS FROM `gacl_aro`&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_aro’ doesn’t exist  
(mysql): SHOW INDEX FROM gacl\_aro\_map&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_aro\_map’ doesn’t exist  
(mysql): SHOW COLUMNS FROM `gacl_aro_map`&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_aro\_map’ doesn’t exist  
(mysql): SHOW INDEX FROM gacl\_aro\_sections&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_aro\_sections’ doesn’t exist  
(mysql): SHOW COLUMNS FROM `gacl_aro_sections`&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_aro\_sections’ doesn’t exist  
(mysql): SHOW INDEX FROM gacl\_axo&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_axo’ doesn’t exist  
(mysql): SHOW COLUMNS FROM `gacl_axo`&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_axo’ doesn’t exist  
(mysql): SHOW INDEX FROM gacl\_axo\_map&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_axo\_map’ doesn’t exist  
(mysql): SHOW COLUMNS FROM `gacl_axo_map`&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_axo\_map’ doesn’t exist  
(mysql): SHOW INDEX FROM gacl\_axo\_sections&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_axo\_sections’ doesn’t exist  
(mysql): SHOW COLUMNS FROM `gacl_axo_sections`&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_axo\_sections’ doesn’t exist  
(mysql): SHOW INDEX FROM gacl\_aro\_groups&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_aro\_groups’ doesn’t exist  
(mysql): SHOW COLUMNS FROM `gacl_aro_groups`&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_aro\_groups’ doesn’t exist  
(mysql): SHOW INDEX FROM gacl\_groups\_aro\_map&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_groups\_aro\_map’ doesn’t exist  
(mysql): SHOW COLUMNS FROM `gacl_groups_aro_map`&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_groups\_aro\_map’ doesn’t exist  
(mysql): SHOW INDEX FROM gacl\_aro\_groups\_map&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_aro\_groups\_map’ doesn’t exist  
(mysql): SHOW COLUMNS FROM `gacl_aro_groups_map`&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_aro\_groups\_map’ doesn’t exist  
(mysql): SHOW INDEX FROM gacl\_axo\_groups&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_axo\_groups’ doesn’t exist  
(mysql): SHOW COLUMNS FROM `gacl_axo_groups`&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_axo\_groups’ doesn’t exist  
(mysql): SHOW INDEX FROM gacl\_groups\_axo\_map&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_groups\_axo\_map’ doesn’t exist  
(mysql): SHOW COLUMNS FROM `gacl_groups_axo_map`&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_groups\_axo\_map’ doesn’t exist  
(mysql): SHOW INDEX FROM gacl\_axo\_groups\_map&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_axo\_groups\_map’ doesn’t exist  
(mysql): SHOW COLUMNS FROM `gacl_axo_groups_map`&nbsp;&nbsp; 1146: Table ‘openemr.gacl\_axo\_groups\_map’ doesn’t exist  
Here’s the SQL to do the build:  
CREATE TABLE gacl\_phpgacl (  
name VARCHAR(230) NOT NULL,  
value VARCHAR(230) NOT NULL,  
PRIMARY KEY (name)  
);

DELETE FROM gacl\_phpgacl WHERE name=‘version’;

INSERT INTO gacl\_phpgacl (name,value) VALUES (‘version’,‘3.3.7’);

DELETE FROM gacl\_phpgacl WHERE name=‘schema\_version’;

INSERT INTO gacl\_phpgacl (name,value) VALUES (‘schema\_version’,‘2.1’);

CREATE TABLE gacl\_acl (  
id INTEGER NOT NULL DEFAULT 0,  
section\_value VARCHAR(230) NOT NULL DEFAULT ‘system’,  
allow INTEGER NOT NULL DEFAULT 0,  
enabled INTEGER NOT NULL DEFAULT 0,  
return\_value TEXT,  
note TEXT,  
updated\_date INTEGER NOT NULL DEFAULT 0,  
PRIMARY KEY (id)  
);

ALTER TABLE gacl\_acl ADD INDEX gacl\_enabled\_acl (enabled);

ALTER TABLE gacl\_acl ADD INDEX gacl\_section\_value\_acl (section\_value);

ALTER TABLE gacl\_acl ADD INDEX gacl\_updated\_date\_acl (updated\_date);

CREATE TABLE gacl\_acl\_sections (  
id INTEGER NOT NULL DEFAULT 0,  
value VARCHAR(230) NOT NULL,  
order\_value INTEGER NOT NULL DEFAULT 0,  
name VARCHAR(230) NOT NULL,  
hidden INTEGER NOT NULL DEFAULT 0,  
PRIMARY KEY (id)  
);

ALTER TABLE gacl\_acl\_sections ADD UNIQUE INDEX gacl\_value\_acl\_sections (value);

ALTER TABLE gacl\_acl\_sections ADD INDEX gacl\_hidden\_acl\_sections (hidden);

DELETE FROM gacl\_acl\_sections WHERE id=1 AND value=‘system’;

INSERT INTO gacl\_acl\_sections (id,value,order\_value,name) VALUES (1,‘system’,1,‘System’);

DELETE FROM gacl\_acl\_sections WHERE id=2 AND value=‘user’;

INSERT INTO gacl\_acl\_sections (id,value,order\_value,name) VALUES (2,‘user’,2,‘User’);

CREATE TABLE gacl\_aco (  
id INTEGER NOT NULL DEFAULT 0,  
section\_value VARCHAR(240) NOT NULL DEFAULT ‘0’,  
value VARCHAR(240) NOT NULL,  
order\_value INTEGER NOT NULL DEFAULT 0,  
name VARCHAR(255) NOT NULL,  
hidden INTEGER NOT NULL DEFAULT 0,  
PRIMARY KEY (id)  
);

ALTER TABLE gacl\_aco ADD UNIQUE INDEX gacl\_section\_value\_value\_aco (section\_value, value);

ALTER TABLE gacl\_aco ADD INDEX gacl\_hidden\_aco (hidden);

CREATE TABLE gacl\_aco\_map (  
acl\_id INTEGER NOT NULL DEFAULT 0,  
section\_value VARCHAR(230) NOT NULL DEFAULT ‘0’,  
value VARCHAR(230) NOT NULL,  
PRIMARY KEY (acl\_id, section\_value, value)  
);

CREATE TABLE gacl\_aco\_sections (  
id INTEGER NOT NULL DEFAULT 0,  
value VARCHAR(230) NOT NULL,  
order\_value INTEGER NOT NULL DEFAULT 0,  
name VARCHAR(230) NOT NULL,  
hidden INTEGER NOT NULL DEFAULT 0,  
PRIMARY KEY (id)  
);

ALTER TABLE gacl\_aco\_sections ADD UNIQUE INDEX gacl\_value\_aco\_sections (value);

ALTER TABLE gacl\_aco\_sections ADD INDEX gacl\_hidden\_aco\_sections (hidden);

CREATE TABLE gacl\_aro (  
id INTEGER NOT NULL DEFAULT 0,  
section\_value VARCHAR(240) NOT NULL DEFAULT ‘0’,  
value VARCHAR(240) NOT NULL,  
order\_value INTEGER NOT NULL DEFAULT 0,  
name VARCHAR(255) NOT NULL,  
hidden INTEGER NOT NULL DEFAULT 0,  
PRIMARY KEY (id)  
);

ALTER TABLE gacl\_aro ADD UNIQUE INDEX gacl\_section\_value\_value\_aro (section\_value, value);

ALTER TABLE gacl\_aro ADD INDEX gacl\_hidden\_aro (hidden);

CREATE TABLE gacl\_aro\_map (  
acl\_id INTEGER NOT NULL DEFAULT 0,  
section\_value VARCHAR(230) NOT NULL DEFAULT ‘0’,  
value VARCHAR(230) NOT NULL,  
PRIMARY KEY (acl\_id, section\_value, value)  
);

CREATE TABLE gacl\_aro\_sections (  
id INTEGER NOT NULL DEFAULT 0,  
value VARCHAR(230) NOT NULL,  
order\_value INTEGER NOT NULL DEFAULT 0,  
name VARCHAR(230) NOT NULL,  
hidden INTEGER NOT NULL DEFAULT 0,  
PRIMARY KEY (id)  
);

ALTER TABLE gacl\_aro\_sections ADD UNIQUE INDEX gacl\_value\_aro\_sections (value);

ALTER TABLE gacl\_aro\_sections ADD INDEX gacl\_hidden\_aro\_sections (hidden);

CREATE TABLE gacl\_axo (  
id INTEGER NOT NULL DEFAULT 0,  
section\_value VARCHAR(240) NOT NULL DEFAULT ‘0’,  
value VARCHAR(240) NOT NULL,  
order\_value INTEGER NOT NULL DEFAULT 0,  
name VARCHAR(255) NOT NULL,  
hidden INTEGER NOT NULL DEFAULT 0,  
PRIMARY KEY (id)  
);

ALTER TABLE gacl\_axo ADD UNIQUE INDEX gacl\_section\_value\_value\_axo (section\_value, value);

ALTER TABLE gacl\_axo ADD INDEX gacl\_hidden\_axo (hidden);

CREATE TABLE gacl\_axo\_map (  
acl\_id INTEGER NOT NULL DEFAULT 0,  
section\_value VARCHAR(230) NOT NULL DEFAULT ‘0’,  
value VARCHAR(230) NOT NULL,  
PRIMARY KEY (acl\_id, section\_value, value)  
);

CREATE TABLE gacl\_axo\_sections (  
id INTEGER NOT NULL DEFAULT 0,  
value VARCHAR(230) NOT NULL,  
order\_value INTEGER NOT NULL DEFAULT 0,  
name VARCHAR(230) NOT NULL,  
hidden INTEGER NOT NULL DEFAULT 0,  
PRIMARY KEY (id)  
);

ALTER TABLE gacl\_axo\_sections ADD UNIQUE INDEX gacl\_value\_axo\_sections (value);

ALTER TABLE gacl\_axo\_sections ADD INDEX gacl\_hidden\_axo\_sections (hidden);

CREATE TABLE gacl\_aro\_groups (  
id INTEGER NOT NULL DEFAULT 0,  
parent\_id INTEGER NOT NULL DEFAULT 0,  
lft INTEGER NOT NULL DEFAULT 0,  
rgt INTEGER NOT NULL DEFAULT 0,  
name VARCHAR(255) NOT NULL,  
value VARCHAR(255) NOT NULL,  
PRIMARY KEY (id, value)  
);

ALTER TABLE gacl\_aro\_groups ADD INDEX gacl\_parent\_id\_aro\_groups (parent\_id);

ALTER TABLE gacl\_aro\_groups ADD UNIQUE INDEX gacl\_value\_aro\_groups (value);

ALTER TABLE gacl\_aro\_groups ADD INDEX gacl\_lft\_rgt\_aro\_groups (lft, rgt);

CREATE TABLE gacl\_groups\_aro\_map (  
group\_id INTEGER NOT NULL DEFAULT 0,  
aro\_id INTEGER NOT NULL DEFAULT 0,  
PRIMARY KEY (group\_id, aro\_id)  
);

ALTER TABLE gacl\_groups\_aro\_map ADD INDEX gacl\_aro\_id (aro\_id);

CREATE TABLE gacl\_aro\_groups\_map (  
acl\_id INTEGER NOT NULL DEFAULT 0,  
group\_id INTEGER NOT NULL DEFAULT 0,  
PRIMARY KEY (acl\_id, group\_id)  
);

CREATE TABLE gacl\_axo\_groups (  
id INTEGER NOT NULL DEFAULT 0,  
parent\_id INTEGER NOT NULL DEFAULT 0,  
lft INTEGER NOT NULL DEFAULT 0,  
rgt INTEGER NOT NULL DEFAULT 0,  
name VARCHAR(255) NOT NULL,  
value VARCHAR(255) NOT NULL,  
PRIMARY KEY (id, value)  
);

ALTER TABLE gacl\_axo\_groups ADD INDEX gacl\_parent\_id\_axo\_groups (parent\_id);

ALTER TABLE gacl\_axo\_groups ADD UNIQUE INDEX gacl\_value\_axo\_groups (value);

ALTER TABLE gacl\_axo\_groups ADD INDEX gacl\_lft\_rgt\_axo\_groups (lft, rgt);

CREATE TABLE gacl\_groups\_axo\_map (  
group\_id INTEGER NOT NULL DEFAULT 0,  
axo\_id INTEGER NOT NULL DEFAULT 0,  
PRIMARY KEY (group\_id, axo\_id)  
);

ALTER TABLE gacl\_groups\_axo\_map ADD INDEX gacl\_axo\_id (axo\_id);

CREATE TABLE gacl\_axo\_groups\_map (  
acl\_id INTEGER NOT NULL DEFAULT 0,  
group\_id INTEGER NOT NULL DEFAULT 0,  
PRIMARY KEY (acl\_id, group\_id)  
); (mysql): CREATE TABLE gacl\_phpgacl ( name VARCHAR(230) NOT NULL, value VARCHAR(230) NOT NULL, PRIMARY KEY (name) )&nbsp;&nbsp; (mysql): DELETE FROM gacl\_phpgacl WHERE name=‘version’&nbsp;&nbsp; (mysql): INSERT INTO gacl\_phpgacl (name,value) VALUES (‘version’,‘3.3.7’)&nbsp;&nbsp; (mysql): DELETE FROM gacl\_phpgacl WHERE name=‘schema\_version’&nbsp;&nbsp; (mysql): INSERT INTO gacl\_phpgacl (name,value) VALUES (‘schema\_version’,‘2.1’)&nbsp;&nbsp; (mysql): CREATE TABLE gacl\_acl ( id INTEGER NOT NULL DEFAULT 0, section\_value VARCHAR(230) NOT NULL DEFAULT ‘system’, allow INTEGER NOT NULL DEFAULT 0, enabled INTEGER NOT NULL DEFAULT 0, return\_value TEXT, note TEXT, updated\_date INTEGER NOT NULL DEFAULT 0, PRIMARY KEY (id) )&nbsp;&nbsp; (mysql): ALTER TABLE gacl\_acl ADD INDEX gacl\_enabled\_acl (enabled)&nbsp;&nbsp; (mysql): ALTER TABLE gacl\_acl ADD INDEX gacl\_section\_value\_acl (section\_value)&nbsp;&nbsp; (mysql): ALTER TABLE gacl\_acl ADD INDEX gacl\_updated\_date\_acl (updated\_date)&nbsp;&nbsp; (mysql): CREATE TABLE gacl\_acl\_sections ( id INTEGER NOT NULL DEFAULT 0, value VARCHAR(230) NOT NULL, order\_value INTEGER NOT NULL DEFAULT 0, name VARCHAR(230) NOT NULL, hidden INTEGER NOT NULL DEFAULT 0, PRIMARY KEY (id) )&nbsp;&nbsp; (mysql): ALTER TABLE gacl\_acl\_sections ADD UNIQUE INDEX gacl\_value\_acl\_sections (value)&nbsp;&nbsp; (mysql): ALTER TABLE gacl\_acl\_sections ADD INDEX gacl\_hidden\_acl\_sections (hidden)&nbsp;&nbsp; (mysql): DELETE FROM gacl\_acl\_sections WHERE id=1 AND value=‘system’&nbsp;&nbsp; (mysql): INSERT INTO gacl\_acl\_sections (id,value,order\_value,name) VALUES (1,‘system’,1,‘System’)&nbsp;&nbsp; (mysql): DELETE FROM gacl\_acl\_sections WHERE id=2 AND value=‘user’&nbsp;&nbsp; (mysql): INSERT INTO gacl\_acl\_sections (id,value,order\_value,name) VALUES (2,‘user’,2,‘User’)&nbsp;&nbsp; (mysql): CREATE TABLE gacl\_aco ( id INTEGER NOT NULL DEFAULT 0, section\_value VARCHAR(240) NOT NULL DEFAULT ‘0’, value VARCHAR(240) NOT NULL, order\_value INTEGER NOT NULL DEFAULT 0, name VARCHAR(255) NOT NULL, hidden INTEGER NOT NULL DEFAULT 0, PRIMARY KEY (id) )&nbsp;&nbsp; (mysql): ALTER TABLE gacl\_aco ADD UNIQUE INDEX gacl\_section\_value\_value\_aco (section\_value, value)&nbsp;&nbsp; 1071: Specified key was too long; max key length is 1000 bytes  
(mysql): ALTER TABLE gacl\_aco ADD INDEX gacl\_hidden\_aco (hidden)&nbsp;&nbsp; (mysql): CREATE TABLE gacl\_aco\_map ( acl\_id INTEGER NOT NULL DEFAULT 0, section\_value VARCHAR(230) NOT NULL DEFAULT ‘0’, value VARCHAR(230) NOT NULL, PRIMARY KEY (acl\_id, section\_value, value) )&nbsp;&nbsp; 1071: Specified key was too long; max key length is 1000 bytes  
(mysql): CREATE TABLE gacl\_aco\_sections ( id INTEGER NOT NULL DEFAULT 0, value VARCHAR(230) NOT NULL, order\_value INTEGER NOT NULL DEFAULT 0, name VARCHAR(230) NOT NULL, hidden INTEGER NOT NULL DEFAULT 0, PRIMARY KEY (id) )&nbsp;&nbsp; (mysql): ALTER TABLE gacl\_aco\_sections ADD UNIQUE INDEX gacl\_value\_aco\_sections (value)&nbsp;&nbsp; (mysql): ALTER TABLE gacl\_aco\_sections ADD INDEX gacl\_hidden\_aco\_sections (hidden)&nbsp;&nbsp; (mysql): CREATE TABLE gacl\_aro ( id INTEGER NOT NULL DEFAULT 0, section\_value VARCHAR(240) NOT NULL DEFAULT ‘0’, value VARCHAR(240) NOT NULL, order\_value INTEGER NOT NULL DEFAULT 0, name VARCHAR(255) NOT NULL, hidden INTEGER NOT NULL DEFAULT 0, PRIMARY KEY (id) )&nbsp;&nbsp; (mysql): ALTER TABLE gacl\_aro ADD UNIQUE INDEX gacl\_section\_value\_value\_aro (section\_value, value)&nbsp;&nbsp; 1071: Specified key was too long; max key length is 1000 bytes  
(mysql): ALTER TABLE gacl\_aro ADD INDEX gacl\_hidden\_aro (hidden)&nbsp;&nbsp; (mysql): CREATE TABLE gacl\_aro\_map ( acl\_id INTEGER NOT NULL DEFAULT 0, section\_value VARCHAR(230) NOT NULL DEFAULT ‘0’, value VARCHAR(230) NOT NULL, PRIMARY KEY (acl\_id, section\_value, value) )&nbsp;&nbsp; 1071: Specified key was too long; max key length is 1000 bytes  
(mysql): CREATE TABLE gacl\_aro\_sections ( id INTEGER NOT NULL DEFAULT 0, value VARCHAR(230) NOT NULL, order\_value INTEGER NOT NULL DEFAULT 0, name VARCHAR(230) NOT NULL, hidden INTEGER NOT NULL DEFAULT 0, PRIMARY KEY (id) )&nbsp;&nbsp; (mysql): ALTER TABLE gacl\_aro\_sections ADD UNIQUE INDEX gacl\_value\_aro\_sections (value)&nbsp;&nbsp; (mysql): ALTER TABLE gacl\_aro\_sections ADD INDEX gacl\_hidden\_aro\_sections (hidden)&nbsp;&nbsp; (mysql): CREATE TABLE gacl\_axo ( id INTEGER NOT NULL DEFAULT 0, section\_value VARCHAR(240) NOT NULL DEFAULT ‘0’, value VARCHAR(240) NOT NULL, order\_value INTEGER NOT NULL DEFAULT 0, name VARCHAR(255) NOT NULL, hidden INTEGER NOT NULL DEFAULT 0, PRIMARY KEY (id) )&nbsp;&nbsp; (mysql): ALTER TABLE gacl\_axo ADD UNIQUE INDEX gacl\_section\_value\_value\_axo (section\_value, value)&nbsp;&nbsp; 1071: Specified key was too long; max key length is 1000 bytes  
(mysql): ALTER TABLE gacl\_axo ADD INDEX gacl\_hidden\_axo (hidden)&nbsp;&nbsp; (mysql): CREATE TABLE gacl\_axo\_map ( acl\_id INTEGER NOT NULL DEFAULT 0, section\_value VARCHAR(230) NOT NULL DEFAULT ‘0’, value VARCHAR(230) NOT NULL, PRIMARY KEY (acl\_id, section\_value, value) )&nbsp;&nbsp; 1071: Specified key was too long; max key length is 1000 bytes  
(mysql): CREATE TABLE gacl\_axo\_sections ( id INTEGER NOT NULL DEFAULT 0, value VARCHAR(230) NOT NULL, order\_value INTEGER NOT NULL DEFAULT 0, name VARCHAR(230) NOT NULL, hidden INTEGER NOT NULL DEFAULT 0, PRIMARY KEY (id) )&nbsp;&nbsp; (mysql): ALTER TABLE gacl\_axo\_sections ADD UNIQUE INDEX gacl\_value\_axo\_sections (value)&nbsp;&nbsp; (mysql): ALTER TABLE gacl\_axo\_sections ADD INDEX gacl\_hidden\_axo\_sections (hidden)&nbsp;&nbsp; (mysql): CREATE TABLE gacl\_aro\_groups ( id INTEGER NOT NULL DEFAULT 0, parent\_id INTEGER NOT NULL DEFAULT 0, lft INTEGER NOT NULL DEFAULT 0, rgt INTEGER NOT NULL DEFAULT 0, name VARCHAR(255) NOT NULL, value VARCHAR(255) NOT NULL, PRIMARY KEY (id, value) )&nbsp;&nbsp; (mysql): ALTER TABLE gacl\_aro\_groups ADD INDEX gacl\_parent\_id\_aro\_groups (parent\_id)&nbsp;&nbsp; (mysql): ALTER TABLE gacl\_aro\_groups ADD UNIQUE INDEX gacl\_value\_aro\_groups (value)&nbsp;&nbsp; (mysql): ALTER TABLE gacl\_aro\_groups ADD INDEX gacl\_lft\_rgt\_aro\_groups (lft, rgt)&nbsp;&nbsp; (mysql): CREATE TABLE gacl\_groups\_aro\_map ( group\_id INTEGER NOT NULL DEFAULT 0, aro\_id INTEGER NOT NULL DEFAULT 0, PRIMARY KEY (group\_id, aro\_id) )&nbsp;&nbsp;

(mysql): ALTER TABLE gacl\_groups\_aro\_map ADD INDEX gacl\_aro\_id (aro\_id)&nbsp;&nbsp;

(mysql): CREATE TABLE gacl\_aro\_groups\_map ( acl\_id INTEGER NOT NULL DEFAULT 0, group\_id INTEGER NOT NULL DEFAULT 0, PRIMARY KEY (acl\_id, group\_id) )&nbsp;&nbsp;

(mysql): CREATE TABLE gacl\_axo\_groups ( id INTEGER NOT NULL DEFAULT 0, parent\_id INTEGER NOT NULL DEFAULT 0, lft INTEGER NOT NULL DEFAULT 0, rgt INTEGER NOT NULL DEFAULT 0, name VARCHAR(255) NOT NULL, value VARCHAR(255) NOT NULL, PRIMARY KEY (id, value) )&nbsp;&nbsp;

(mysql): ALTER TABLE gacl\_axo\_groups ADD INDEX gacl\_parent\_id\_axo\_groups (parent\_id)&nbsp;&nbsp;

(mysql): ALTER TABLE gacl\_axo\_groups ADD UNIQUE INDEX gacl\_value\_axo\_groups (value)&nbsp;&nbsp; (mysql): ALTER TABLE gacl\_axo\_groups ADD INDEX gacl\_lft\_rgt\_axo\_groups (lft, rgt)&nbsp;&nbsp;

(mysql): CREATE TABLE gacl\_groups\_axo\_map ( group\_id INTEGER NOT NULL DEFAULT 0, axo\_id INTEGER NOT NULL DEFAULT 0, PRIMARY KEY (group\_id, axo\_id) )&nbsp;&nbsp; \

(mysql): ALTER TABLE gacl\_groups\_axo\_map ADD INDEX gacl\_axo\_id (axo\_id)&nbsp;&nbsp; (mysql): CREATE TABLE gacl\_axo\_groups\_map ( acl\_id INTEGER NOT NULL DEFAULT 0, group\_id INTEGER NOT NULL DEFAULT 0, PRIMARY KEY (acl\_id, group\_id) )&nbsp;&nbsp;

Failed! Failed creating tables. Please enable DEBUG mode (set it to TRUE in $gacl\_options near top of admin/gacl\_admin.inc.php) to see the error and try again. You will most likely need to delete any tables already created.  
Failed! Please fix the above errors and try again.

I will check the error logs and post those shortly.

Sam Bowen, MD

[Previous page](https://community.open-emr.org/t/upgrading-openemr/424.md?page=2)

[Next page](https://community.open-emr.org/t/upgrading-openemr/424.md?page=4)
