mediamosa_job_schema

Versions
mediamosa-21
mediamosa_job_schema()

Implements hook_schema().

Code

sites/all/modules/mediamosa/core/job/mediamosa_job.install.inc, line 81

<?php
function mediamosa_job_schema() {

  $a_schema[mediamosa_job_db::TABLE_NAME] = array(
  'description' => t('The job table.'),
    'fields' => array(
      mediamosa_job_db::ID => array(
        'type' => 'serial',
        'not null' => TRUE,
        'unsigned' => TRUE,
        'description' => t('Primary Key: Unique ID.'),
      ),
      mediamosa_job_db::APP_ID => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'description' => t('The application ID.'),
      ),
      mediamosa_job_db::ASSET_ID => array(
        'type' => 'varchar',
        'length' => mediamosa_job_db::ASSET_ID_LENGTH,
        'not null' => TRUE,
        'description' => t('The asset ID.'),
      ),
      mediamosa_job_db::MEDIAFILE_ID => array(
        'type' => 'varchar',
        'length' => mediamosa_job_db::MEDIAFILE_ID_LENGTH,
        'default' => NULL,
        'description' => t('The mediafile ID.'),
      ),
      mediamosa_job_db::OWNER_ID => array(
        'type' => 'varchar',
        'length' => mediamosa_job_db::OWNER_ID_LENGTH,
        'default' => NULL,
        'description' => t('The owner ID.'),
      ),
      mediamosa_job_db::JOB_STATUS => array(
        'description' => t('The status of the job.'),
        'type' => "enum('" . implode("','", array(mediamosa_job_db::JOB_STATUS_WAITING, mediamosa_job_db::JOB_STATUS_INPROGRESS, mediamosa_job_db::JOB_STATUS_FINISHED, mediamosa_job_db::JOB_STATUS_FAILED, mediamosa_job_db::JOB_STATUS_CANCELLED)) . "')",
        'not null' => TRUE,
        'mysql_type' => "enum('" . implode("','", array(mediamosa_job_db::JOB_STATUS_WAITING, mediamosa_job_db::JOB_STATUS_INPROGRESS, mediamosa_job_db::JOB_STATUS_FINISHED, mediamosa_job_db::JOB_STATUS_FAILED, mediamosa_job_db::JOB_STATUS_CANCELLED)) . "')",
        'default' => mediamosa_job_db::JOB_STATUS_WAITING,
      ),
      mediamosa_job_db::PROGRESS => array(
        'type' => 'varchar',
        'length' => mediamosa_job_db::PROGRESS_LENGTH,
        'not null' => TRUE,
        'description' => t('The progress of the job from 0.000 to 1.000.'),
        'default' => '0.000',
      ),
      mediamosa_job_db::PRIORITY => array(
        'type' => 'int',
        'size' => 'tiny',
        'not null' => TRUE,
        'description' => t('Priority switch.'),
        'default' => 0,
      ),
      mediamosa_job_db::JOB_TYPE => array(
        'description' => t('The status of the job.'),
        'type' => "enum('" . implode("','", array(mediamosa_job_db::JOB_TYPE_TRANSCODE, mediamosa_job_db::JOB_TYPE_STILL, mediamosa_job_db::JOB_TYPE_UPLOAD, mediamosa_job_db::JOB_TYPE_ANALYSE, mediamosa_job_db::JOB_TYPE_DELETE_MEDIAFILE)) . "')",
        'not null' => TRUE,
        'mysql_type' => "enum('" . implode("','", array(mediamosa_job_db::JOB_TYPE_TRANSCODE, mediamosa_job_db::JOB_TYPE_STILL, mediamosa_job_db::JOB_TYPE_UPLOAD, mediamosa_job_db::JOB_TYPE_ANALYSE, mediamosa_job_db::JOB_TYPE_DELETE_MEDIAFILE)) . "')",
        'default' => mediamosa_job_db::JOB_TYPE_UPLOAD,
      ),
      mediamosa_job_db::STARTED => array(
        'type' => 'datetime',
        'default' => NULL,
        'description' => t('The date and time when job was started.'),
      ),
      mediamosa_job_db::FINISHED => array(
        'type' => 'datetime',
        'default' => NULL,
        'description' => t('The date and time when job was finished.'),
      ),
      mediamosa_job_db::CREATE_STILL => array(
        'description' => t('The status of the job.'),
        'type' => "enum('" . implode("','", array(mediamosa_job_db::CREATE_STILL_FALSE, mediamosa_job_db::CREATE_STILL_TRUE)) . "')",
        'not null' => TRUE,
        'mysql_type' => "enum('" . implode("','", array(mediamosa_job_db::CREATE_STILL_FALSE, mediamosa_job_db::CREATE_STILL_TRUE)) . "')",
        'default' => mediamosa_job_db::CREATE_STILL_FALSE,
      ),
      mediamosa_job_db::NO_HINT => array(
        'description' => t('Not hinting.'),
        'type' => "enum('" . implode("','", array(mediamosa_job_db::NO_HINT_FALSE, mediamosa_job_db::NO_HINT_TRUE)) . "')",
        'not null' => TRUE,
        'mysql_type' => "enum('" . implode("','", array(mediamosa_job_db::NO_HINT_FALSE, mediamosa_job_db::NO_HINT_TRUE)) . "')",
        'default' => mediamosa_job_db::NO_HINT_FALSE,
      ),
      mediamosa_job_db::STILL_PARAMETERS => array(
        'type' => 'text',
        'size' => 'normal',
        'description' => t('Parameters when creating still.'),
      ),
      mediamosa_job_db::ERROR_DESCRIPTION => array(
        'type' => 'text',
        'size' => 'normal',
        'description' => t('Possible error description log.'),
      ),
      mediamosa_job_db::CREATED => array(
        'type' => 'datetime',
        'not null' => TRUE,
        'description' => t('The date and time when job was created.'),
      ),
      mediamosa_job_db::CHANGED => array(
        'type' => 'datetime',
        'default' => NULL,
        'description' => t('The date and time when job was changed last.'),
      ),
    ),
    'primary key' => array(mediamosa_job_db::ID),
    'indexes' => array(
      'idx_jobtype' => array(mediamosa_job_db::JOB_TYPE),
      'idx_status_assetid_jobtype_jobid' => array(mediamosa_job_db::JOB_STATUS, mediamosa_job_db::ASSET_ID, mediamosa_job_db::JOB_TYPE, mediamosa_job_db::ID),
      'idx_jobid_status' => array(mediamosa_job_db::JOB_STATUS, mediamosa_job_db::ID),
    ),
    'foreign keys' => array(
      mediamosa_job_db::ASSET_ID => array(mediamosa_asset_db::TABLE_NAME => mediamosa_asset_db::ID),
    ),
  );

  return $a_schema;
}
?>