CREATE TABLE acos (
  id INTEGER(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  model VARCHAR(255) NOT NULL DEFAULT '',
  object_id INTEGER(10) NULL DEFAULT NULL,
  alias VARCHAR(255) NOT NULL DEFAULT '',
  lft INTEGER(10) NULL DEFAULT NULL,
  rght INTEGER(10) NULL DEFAULT NULL,
  PRIMARY KEY(id)
);

CREATE TABLE acos_aros (
  id INTEGER(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  aro_id INTEGER(10) UNSIGNED NOT NULL,
  aco_id INTEGER(10) UNSIGNED NOT NULL,
  _create TINYINT(1) NOT NULL DEFAULT 0,
  _read TINYINT(1) NOT NULL DEFAULT 0,
  _update TINYINT(1) NOT NULL DEFAULT 0,
  _delete TINYINT(1) NOT NULL DEFAULT 0,
  PRIMARY KEY(id)
);

CREATE TABLE aros (
  id INTEGER(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  model VARCHAR(255) NOT NULL DEFAULT '',
  foreign_key INTEGER(10) UNSIGNED NULL DEFAULT NULL,
  alias VARCHAR(255) NOT NULL DEFAULT '',
  lft INTEGER(10) NULL DEFAULT NULL,
  rght INTEGER(10) NULL DEFAULT NULL,
  PRIMARY KEY(id)
);