View source
<?php
function simpleads_schema() {
$schema['simpleads'] = [
'description' => 'Store ads.',
'fields' => [
'id' => [
'description' => 'Advertisements ID',
'type' => 'serial',
'unsigned' => TRUE,
'not null' => TRUE,
],
'uid' => [
'description' => 'User ID',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
],
'name' => [
'description' => 'Advertisement Name',
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
],
'description' => [
'description' => 'Advertisement Description',
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
],
'type' => [
'description' => 'Advertisement Type',
'type' => 'varchar',
'length' => 100,
'not null' => TRUE,
'default' => '',
],
'group_id' => [
'description' => 'Advertisement Group ID',
'type' => 'int',
'unsigned' => TRUE,
'not null' => FALSE,
'default' => 0,
],
'campaign_id' => [
'description' => 'Advertisement Campaign ID',
'type' => 'int',
'unsigned' => TRUE,
'not null' => FALSE,
'default' => 0,
],
'options' => [
'description' => 'Advertisement Campaign Options',
'type' => 'text',
'size' => 'normal',
'not null' => FALSE,
],
'status' => [
'description' => 'Advertisement Status',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
],
'created_at' => [
'description' => 'Advertisement Created Timestamp.',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
],
'changed_at' => [
'description' => 'Advertisement Changed Timestamp',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
],
],
'primary key' => [
'id',
],
'indexes' => [
'id' => [
'id',
],
'uid' => [
'uid',
],
'group_id' => [
'group_id',
],
'campaign_id' => [
'campaign_id',
],
],
'foreign keys' => [
'group_id' => [
'simpleads_groups' => 'group_id',
],
'uid' => [
'users' => 'uid',
],
'campaign_id' => [
'simpleads_campaigns' => 'campaign_id',
],
],
];
$schema['simpleads_groups'] = [
'description' => 'Store ad groups.',
'fields' => [
'id' => [
'description' => 'Advertisement Group ID',
'type' => 'serial',
'unsigned' => TRUE,
'not null' => TRUE,
],
'uid' => [
'description' => 'User ID',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
],
'name' => [
'description' => 'Advertisement Group Name',
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
],
'description' => [
'description' => 'Advertisement Group Description',
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
],
'options' => [
'description' => 'Advertisement Group Options',
'type' => 'text',
'size' => 'normal',
'not null' => FALSE,
],
'created_at' => [
'description' => 'Advertisement Created Timestamp.',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
],
'changed_at' => [
'description' => 'Advertisement Changed Timestamp',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
],
],
'primary key' => [
'id',
],
'indexes' => [
'id' => [
'id',
],
'uid' => [
'uid',
],
],
'foreign keys' => [
'uid' => [
'users' => 'uid',
],
],
];
$schema['simpleads_campaigns'] = [
'description' => 'Store ad campaigns.',
'fields' => [
'id' => [
'description' => 'Advertisement Campaign ID',
'type' => 'serial',
'unsigned' => TRUE,
'not null' => TRUE,
],
'uid' => [
'description' => 'User ID',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
],
'name' => [
'description' => 'Advertisement Campaign Name',
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
],
'description' => [
'description' => 'Advertisement Campaign Description',
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
],
'type' => [
'description' => 'Advertisement Campaign Type',
'type' => 'varchar',
'length' => 100,
'not null' => TRUE,
'default' => '',
],
'options' => [
'description' => 'Advertisement Campaign Options',
'type' => 'text',
'size' => 'normal',
'not null' => FALSE,
],
'status' => [
'description' => 'Advertisement Status',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
],
'created_at' => [
'description' => 'Advertisement Created Timestamp.',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
],
'changed_at' => [
'description' => 'Advertisement Changed Timestamp',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
],
],
'primary key' => [
'id',
],
'indexes' => [
'id' => [
'id',
],
'uid' => [
'uid',
],
],
'foreign keys' => [
'uid' => [
'users' => 'uid',
],
],
];
return $schema;
}