You are here

function twitter_schema in Twitter 6.2

Same name and namespace in other branches
  1. 6.5 twitter.install \twitter_schema()
  2. 6.3 twitter.install \twitter_schema()
  3. 6.4 twitter.install \twitter_schema()
  4. 7.6 twitter.install \twitter_schema()
  5. 7.3 twitter.install \twitter_schema()
  6. 7.4 twitter.install \twitter_schema()
  7. 7.5 twitter.install \twitter_schema()

Implementation of hook_schema().

File

./twitter.install, line 6

Code

function twitter_schema() {
  $schema['twitter'] = array(
    'description' => t("Stores individual Twitter posts."),
    'fields' => array(
      'twitter_id' => array(
        'description' => t("Unique identifier for each {twitter} post."),
        'type' => 'numeric',
        'unsigned' => TRUE,
        'precision' => 20,
        'scale' => 0,
        'not null' => TRUE,
        'default' => 0,
      ),
      'screen_name' => array(
        'description' => t("Screen name of the {twitter} user."),
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'default' => '',
      ),
      'created_at' => array(
        'description' => t("Date and time the {twitter} post was created."),
        'type' => 'varchar',
        'length' => 64,
        'not null' => TRUE,
        'default' => '',
      ),
      'created_time' => array(
        'description' => t("A duplicate of {twitter}.created_at in UNIX timestamp format."),
        'type' => 'int',
        'not null' => TRUE,
      ),
      'text' => array(
        'description' => t("The text of the {twitter} post."),
        'type' => 'varchar',
        'length' => 255,
        'not null' => FALSE,
      ),
      'source' => array(
        'description' => t("The application that created the {twitter} post."),
        'type' => 'varchar',
        'length' => 255,
        'not null' => FALSE,
      ),
      'in_reply_to_status_id' => array(
        'description' => t("Unique identifier of a status this {twitter} post was replying to."),
        'type' => 'numeric',
        'unsigned' => TRUE,
        'precision' => 20,
        'scale' => 0,
        'not null' => FALSE,
      ),
      'in_reply_to_user_id' => array(
        'description' => t("Unique identifier for the {twitter_account} this post was replying to."),
        'type' => 'numeric',
        'unsigned' => TRUE,
        'precision' => 20,
        'scale' => 0,
        'not null' => FALSE,
      ),
      'in_reply_to_screen_name' => array(
        'description' => t("Screen name of the {twitter} user this post was replying to."),
        'type' => 'varchar',
        'length' => 255,
        'not null' => FALSE,
      ),
      'truncated' => array(
        'description' => t("Boolean flag indicating whether the {twitter} status was cut off to fit in the 140 character limit."),
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
      ),
    ),
    'indexes' => array(
      'screen_name' => array(
        'screen_name',
      ),
    ),
    'primary key' => array(
      'twitter_id',
    ),
  );
  $schema['twitter_account'] = array(
    'description' => t("Stores information on specific Twitter user accounts."),
    'fields' => array(
      'twitter_uid' => array(
        'description' => t("The unique identifier of the {twitter_account}."),
        'type' => 'numeric',
        'unsigned' => TRUE,
        'precision' => 20,
        'scale' => 0,
        'not null' => TRUE,
        'default' => 0,
      ),
      'screen_name' => array(
        'description' => t("The unique login name of the {twitter_account} user."),
        'type' => 'varchar',
        'length' => 255,
      ),
      'name' => array(
        'description' => t("The full name of the {twitter_account} user."),
        'type' => 'varchar',
        'length' => 64,
        'not null' => TRUE,
        'default' => '',
      ),
      'description' => array(
        'description' => t("The description/biography associated with the {twitter_account}."),
        'type' => 'varchar',
        'length' => 255,
      ),
      'location' => array(
        'description' => t("The location of the {twitter_account}'s owner."),
        'type' => 'varchar',
        'length' => 255,
      ),
      'followers_count' => array(
        'description' => t("The number of users following this {twitter_account}."),
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
      ),
      'profile_image_url' => array(
        'description' => t("The url of the {twitter_account}'s profile image."),
        'type' => 'varchar',
        'length' => 255,
      ),
      'url' => array(
        'description' => t("The url of the {twitter_account}'s home page."),
        'type' => 'varchar',
        'length' => 255,
      ),
      'protected' => array(
        'description' => t("Boolean flag indicating whether the {twitter_account}'s posts are publicly accessible."),
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
      ),
      'last_refresh' => array(
        'description' => t("A UNIX timestamp marking the date Twitter statuses were last fetched on."),
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
      ),
    ),
    'indexes' => array(
      'screen_name' => array(
        'screen_name',
      ),
    ),
    'primary key' => array(
      'twitter_uid',
    ),
  );
  $schema['twitter_user'] = array(
    'fields' => array(
      'uid' => array(
        'description' => t("The Drupal ID of the user account associated with the Twitter account."),
        'type' => 'int',
        'not null' => TRUE,
      ),
      'screen_name' => array(
        'description' => t("The unique login name for the Twitter account."),
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'default' => '',
      ),
      'password' => array(
        'description' => t("The password for the Twitter account."),
        'type' => 'varchar',
        'length' => 64,
      ),
      'import' => array(
        'description' => t("Boolean flag indicating whether the {twitter_user}'s posts should be pulled in by the site."),
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 1,
      ),
    ),
    'primary key' => array(
      'uid',
      'screen_name',
    ),
    'indexes' => array(
      'screen_name' => array(
        'screen_name',
      ),
      'uid' => array(
        'uid',
      ),
      'import' => array(
        'import',
      ),
    ),
  );
  return $schema;
}