Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- use Migrations\AbstractMigration;
- use Cake\Log\Log;
- /**
- * Class AdministratorsTableMigration
- */
- class AdministratorsTableMigration extends AbstractMigration
- {
- /**
- * @var string
- */
- private $_tableName;
- /**
- * @var string
- */
- private $_tablePrefix;
- public function init()
- {
- $this->_tableName = '"Administrators"';
- $this->_tablePrefix = 'administrators';
- }
- public function up()
- {
- Log::info("Trying to create {$this->_tableName} table");
- $administratorsTable = $this->table($this->_tablePrefix);
- if ($administratorsTable->exists()) {
- return Log::warning("Table {$this->_tableName} already exists");
- }
- $administratorsTable
- ->addPrimaryKey('id')
- ->addColumn('username', 'char', [
- 'length' => 25,
- 'null' => false
- ])
- ->addColumn('password', 'char', [
- 'length' => 255,
- 'null' => false
- ])
- ->addColumn('email', 'char', [
- 'length' => 50,
- 'null' => false
- ])
- ->addColumn('first_name', 'char', [
- 'length' => 50,
- 'null' => false
- ])
- ->addColumn('last_name', 'char', [
- 'length' => 50,
- 'null' => false
- ])
- ->addColumn('avatar', 'char', [
- 'length' => 255,
- 'default' => '/img/no-avatar.png'
- ])
- ->addColumn('active', 'boolean', [
- 'default' => 0
- ])
- ->addTimestamps()
- ->create();
- return Log::notice("Table {$this->_tableName} has been created");
- }
- public function down()
- {
- if ($this->table($this->_tablePrefix)->exists()) {
- $this->table($this->_tablePrefix)->drop();
- return Log::info("Table {$this->_tableName} has been dropped");
- }
- return Log::warning("Table {$this->_tableName} does not exists");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment