mediamosa_job_server_schema

Versions
mediamosa-21
mediamosa_job_server_schema()

Implements hook_schema().

Code

sites/all/modules/mediamosa/core/job/server/mediamosa_job_server.install.inc, line 93

<?php
function mediamosa_job_server_schema() {

  $a_schema[mediamosa_job_server_db::TABLE_NAME] = array(
  'description' => t('The job server table.'),
    'fields' => array(
      mediamosa_job_server_db::ID => array(
        'type' => 'serial',
        'not null' => TRUE,
        'unsigned' => TRUE,
        'description' => t('Primary Key: Unique ID.'),
      ),
      mediamosa_job_server_db::INSTALL_ID => array(
        'type' => 'varchar',
        'length' => mediamosa_job_server_db::INSTALL_ID_LENGTH,
        'default' => 'default',
        'description' => t('The installion ID for multiple installments of jobserver.'),
      ),
      mediamosa_job_server_db::JOB_ID => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'description' => t('The job ID.'),
      ),
      mediamosa_job_server_db::JOB_STATUS => array(
        'description' => t('The status of the job.'),
        'type' => "enum('" . implode("','", array(mediamosa_job_server_db::JOB_STATUS_WAITING, mediamosa_job_server_db::JOB_STATUS_INPROGRESS, mediamosa_job_server_db::JOB_STATUS_FINISHED, mediamosa_job_server_db::JOB_STATUS_FAILED, mediamosa_job_server_db::JOB_STATUS_CANCELLED)) . "')",
        'not null' => TRUE,
        'mysql_type' => "enum('" . implode("','", array(mediamosa_job_server_db::JOB_STATUS_WAITING, mediamosa_job_server_db::JOB_STATUS_INPROGRESS, mediamosa_job_server_db::JOB_STATUS_FINISHED, mediamosa_job_server_db::JOB_STATUS_FAILED, mediamosa_job_server_db::JOB_STATUS_CANCELLED)) . "')",
        'default' => mediamosa_job_server_db::JOB_STATUS_WAITING,
      ),
      mediamosa_job_server_db::PROGRESS => array(
        'type' => 'varchar',
        'length' => mediamosa_job_server_db::PROGRESS_LENGTH,
        'not null' => TRUE,
        'description' => t('The progress of the job from 0.000 to 1.000.'),
        'default' => '0.000',
      ),
      mediamosa_job_server_db::JOB_TYPE => array(
        'description' => t('The status of the job.'),
        'type' => "enum('" . implode("','", array(mediamosa_job_server_db::JOB_TYPE_TRANSCODE, mediamosa_job_server_db::JOB_TYPE_STILL, mediamosa_job_server_db::JOB_TYPE_UPLOAD, mediamosa_job_server_db::JOB_TYPE_ANALYSE, mediamosa_job_server_db::JOB_TYPE_DELETE_MEDIAFILE)) . "')",
        'not null' => TRUE,
        'mysql_type' => "enum('" . implode("','", array(mediamosa_job_server_db::JOB_TYPE_TRANSCODE, mediamosa_job_server_db::JOB_TYPE_STILL, mediamosa_job_server_db::JOB_TYPE_UPLOAD, mediamosa_job_server_db::JOB_TYPE_ANALYSE, mediamosa_job_server_db::JOB_TYPE_DELETE_MEDIAFILE)) . "')",
        'default' => mediamosa_job_server_db::JOB_TYPE_UPLOAD,
      ),
      mediamosa_job_server_db::PROGRESS_ID => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'description' => t('Unused.'),
        'default' => NULL,
      ),
      mediamosa_job_server_db::MEDIAFILE_ID_SRC => array(
        'type' => 'varchar',
        'length' => mediamosa_job_server_db::MEDIAFILE_ID_SRC_LENGTH,
        'default' => NULL,
        'description' => t('The mediafile ID.'),
      ),
      mediamosa_job_server_db::MEDIAFILE_DEST => array(
        'type' => 'text',
        'default' => NULL,
        'description' => t('The mediafile.'),
      ),
      mediamosa_job_server_db::STARTED => array(
        'type' => 'datetime',
        'default' => NULL,
        'description' => t('The date and time when job was started.'),
      ),
      mediamosa_job_server_db::FINISHED => array(
        'type' => 'datetime',
        'default' => NULL,
        'description' => t('The date and time when job was finished.'),
      ),
      mediamosa_job_server_db::ERROR_DESCRIPTION => array(
        'type' => 'text',
        'size' => 'normal',
        'description' => t('Possible error description log.'),
      ),
      mediamosa_job_server_db::CREATED => array(
        'type' => 'datetime',
        'not null' => TRUE,
        'description' => t('The date and time when job was created.'),
      ),
      mediamosa_job_server_db::CHANGED => array(
        'type' => 'datetime',
        'default' => NULL,
        'description' => t('The date and time when job was changed last.'),
      ),
    ),
    'primary key' => array(mediamosa_job_server_db::ID, mediamosa_job_server_db::INSTALL_ID),
    'indexes' => array(
      'idx_install_status' => array(mediamosa_job_server_db::INSTALL_ID, mediamosa_job_server_db::JOB_STATUS),
    ),
    'unique keys' => array(
      'uni_jobid' => array(mediamosa_job_db::TABLE_NAME => mediamosa_job_db::ID),
    ),
    'foreign keys' => array(
      mediamosa_job_server_db::JOB_ID => array(mediamosa_job_db::TABLE_NAME => mediamosa_job_db::ID),
    ),
  );

  return $a_schema;
}
?>