Commit 92bb547ffbd04870089a0f54feeadb0a7d2a3bb9
1 parent
2501a752
add migration and AR for importer table
Showing
2 changed files
with
189 additions
and
0 deletions
Show diff stats
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace backend\models; | ||
| 4 | + | ||
| 5 | +use Yii; | ||
| 6 | +use backend\components\base\BaseActiveRecord; | ||
| 7 | + | ||
| 8 | +/** | ||
| 9 | + * This is the model class for table "{{%importer}}". | ||
| 10 | + * | ||
| 11 | + * @property integer $id | ||
| 12 | + * @property string $code | ||
| 13 | + * @property string $name | ||
| 14 | + * @property string $name_price | ||
| 15 | + * @property string $currency_id | ||
| 16 | + * @property string $delivery | ||
| 17 | + * @property string $email | ||
| 18 | + * @property string $info | ||
| 19 | + * @property integer $active | ||
| 20 | + * @property integer $PARSER_IS_ACTIVE | ||
| 21 | + * @property string $PARSER_COLUMN_COUNT | ||
| 22 | + * @property string $PARSER_FIELD_BRAND | ||
| 23 | + * @property string $PARSER_FIELD_ARTICLE | ||
| 24 | + * @property integer $PARSER_FIELD_ARTICLE_PREFIX | ||
| 25 | + * @property string $PARSER_FIELD_PRICE | ||
| 26 | + * @property string $PARSER_FIELD_DESCR | ||
| 27 | + * @property string $PARSER_FIELD_BOX | ||
| 28 | + * @property string $PARSER_FIELD_ADD_BOX | ||
| 29 | + * @property string $PARSER_FIELD_GROUP_RG | ||
| 30 | + * @property string $PARSER_FIELD_SIGN | ||
| 31 | + * @property double $PARSER_FIELD_MULTIPLIER | ||
| 32 | + * @property string $price_date_update | ||
| 33 | + */ | ||
| 34 | +class Importer extends BaseActiveRecord | ||
| 35 | +{ | ||
| 36 | + /** | ||
| 37 | + * @inheritdoc | ||
| 38 | + */ | ||
| 39 | + public static function tableName() | ||
| 40 | + { | ||
| 41 | + return '{{%importer}}'; | ||
| 42 | + } | ||
| 43 | + | ||
| 44 | + /** | ||
| 45 | + * @inheritdoc | ||
| 46 | + */ | ||
| 47 | + public function rules() | ||
| 48 | + { | ||
| 49 | + return [ | ||
| 50 | + [['code', 'name', 'name_price', 'currency_id', 'delivery', 'email', 'info', 'PARSER_FIELD_SIGN', 'price_date_update'], 'required'], | ||
| 51 | + [['currency_id', 'active', 'PARSER_IS_ACTIVE', 'PARSER_COLUMN_COUNT', 'PARSER_FIELD_BRAND', 'PARSER_FIELD_ARTICLE', 'PARSER_FIELD_ARTICLE_PREFIX', 'PARSER_FIELD_PRICE', 'PARSER_FIELD_DESCR', 'PARSER_FIELD_BOX', 'PARSER_FIELD_ADD_BOX', 'PARSER_FIELD_GROUP_RG'], 'integer'], | ||
| 52 | + [['info'], 'string'], | ||
| 53 | + [['PARSER_FIELD_MULTIPLIER'], 'number'], | ||
| 54 | + [['code', 'name', 'name_price', 'delivery', 'email'], 'string', 'max' => 254], | ||
| 55 | + [['PARSER_FIELD_SIGN'], 'string', 'max' => 1], | ||
| 56 | + [['price_date_update'], 'string', 'max' => 15], | ||
| 57 | + [['code'], 'unique'], | ||
| 58 | + [['name'], 'unique'] | ||
| 59 | + ]; | ||
| 60 | + } | ||
| 61 | + | ||
| 62 | + /** | ||
| 63 | + * @inheritdoc | ||
| 64 | + */ | ||
| 65 | + public function attributeLabels() | ||
| 66 | + { | ||
| 67 | + return [ | ||
| 68 | + 'id' => Yii::t('app', 'ID'), | ||
| 69 | + 'code' => Yii::t('app', 'Code'), | ||
| 70 | + 'name' => Yii::t('app', 'Name'), | ||
| 71 | + 'name_price' => Yii::t('app', 'Name Price'), | ||
| 72 | + 'currency_id' => Yii::t('app', 'Currency ID'), | ||
| 73 | + 'delivery' => Yii::t('app', 'Delivery'), | ||
| 74 | + 'email' => Yii::t('app', 'Email'), | ||
| 75 | + 'info' => Yii::t('app', 'Info'), | ||
| 76 | + 'active' => Yii::t('app', 'Active'), | ||
| 77 | + 'PARSER_IS_ACTIVE' => Yii::t('app', 'Parser Is Active'), | ||
| 78 | + 'PARSER_COLUMN_COUNT' => Yii::t('app', 'Parser Column Count'), | ||
| 79 | + 'PARSER_FIELD_BRAND' => Yii::t('app', 'Parser Field Brand'), | ||
| 80 | + 'PARSER_FIELD_ARTICLE' => Yii::t('app', 'Parser Field Article'), | ||
| 81 | + 'PARSER_FIELD_ARTICLE_PREFIX' => Yii::t('app', 'Parser Field Article Prefix'), | ||
| 82 | + 'PARSER_FIELD_PRICE' => Yii::t('app', 'Parser Field Price'), | ||
| 83 | + 'PARSER_FIELD_DESCR' => Yii::t('app', 'Parser Field Descr'), | ||
| 84 | + 'PARSER_FIELD_BOX' => Yii::t('app', 'Parser Field Box'), | ||
| 85 | + 'PARSER_FIELD_ADD_BOX' => Yii::t('app', 'Parser Field Add Box'), | ||
| 86 | + 'PARSER_FIELD_GROUP_RG' => Yii::t('app', 'Parser Field Group Rg'), | ||
| 87 | + 'PARSER_FIELD_SIGN' => Yii::t('app', 'Parser Field Sign'), | ||
| 88 | + 'PARSER_FIELD_MULTIPLIER' => Yii::t('app', 'Parser Field Multiplier'), | ||
| 89 | + 'price_date_update' => Yii::t('app', 'Price Date Update'), | ||
| 90 | + ]; | ||
| 91 | + } | ||
| 92 | +} |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\db\Schema; | ||
| 4 | +use yii\db\Migration; | ||
| 5 | + | ||
| 6 | +class m150831_130250_addImporters extends Migration | ||
| 7 | +{ | ||
| 8 | + public function up() | ||
| 9 | + { | ||
| 10 | + $tableOptions = null; | ||
| 11 | + if ($this->db->driverName === 'mysql') { | ||
| 12 | + // http://stackoverflow.com/questions/766809/whats-the-difference-between-utf8-general-ci-and-utf8-unicode-ci | ||
| 13 | + $tableOptions = 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB'; | ||
| 14 | + } | ||
| 15 | + | ||
| 16 | +// 'userid' => Schema::TYPE_PK . ' AUTO_INCREMENT', | ||
| 17 | +// 'email' => Schema::TYPE_STRING . '(45) NOT NULL', | ||
| 18 | +// 'name' => Schema::TYPE_STRING . '(100) NOT NULL', | ||
| 19 | +// | ||
| 20 | +// CREATE TABLE 'w_importers' ( | ||
| 21 | +// 'id' int(6) unsigned NOT NULL AUTO_INCREMENT, | ||
| 22 | +// 'code' varchar(254) NOT NULL, | ||
| 23 | +// 'name' varchar(254) NOT NULL, | ||
| 24 | +// 'name_price' varchar(254) NOT NULL, | ||
| 25 | +// 'currency_id' int(3) unsigned NOT NULL, | ||
| 26 | +// 'delivery' varchar(254) NOT NULL, | ||
| 27 | +// 'email' varchar(254) NOT NULL, | ||
| 28 | +// 'info' text NOT NULL, | ||
| 29 | +// 'active' tinyint(1) unsigned NOT NULL DEFAULT '1', | ||
| 30 | +// 'PARSER_IS_ACTIVE' tinyint(1) unsigned NOT NULL DEFAULT '0', | ||
| 31 | +// 'PARSER_COLUMN_COUNT' int(6) unsigned DEFAULT NULL, | ||
| 32 | +// 'PARSER_FIELD_BRAND' int(3) unsigned DEFAULT NULL, | ||
| 33 | +// 'PARSER_FIELD_ARTICLE' int(3) unsigned DEFAULT NULL, | ||
| 34 | +// 'PARSER_FIELD_ARTICLE_PREFIX' tinyint(1) unsigned NOT NULL DEFAULT '0', | ||
| 35 | +// 'PARSER_FIELD_PRICE' int(3) unsigned DEFAULT NULL, | ||
| 36 | +// 'PARSER_FIELD_DESCR' int(3) unsigned DEFAULT NULL, | ||
| 37 | +// 'PARSER_FIELD_BOX' int(3) unsigned DEFAULT NULL, | ||
| 38 | +// 'PARSER_FIELD_ADD_BOX' int(3) unsigned DEFAULT NULL, | ||
| 39 | +// 'PARSER_FIELD_GROUP_RG' int(3) unsigned DEFAULT NULL, | ||
| 40 | +// 'PARSER_FIELD_SIGN' varchar(1) NOT NULL DEFAULT '', | ||
| 41 | +// 'PARSER_FIELD_MULTIPLIER' float(8,2) unsigned DEFAULT NULL, | ||
| 42 | +// 'price_date_update' varchar(15) NOT NULL, | ||
| 43 | +// PRIMARY KEY ('id'), | ||
| 44 | +// UNIQUE KEY 'code' ('code'), | ||
| 45 | +// UNIQUE KEY 'name' ('name'), | ||
| 46 | +// KEY 'active' ('active') | ||
| 47 | +// ) ENGINE=InnoDB DEFAULT CHARSET=utf8 | ||
| 48 | + | ||
| 49 | + $this->createTable('{{%importer}}', [ | ||
| 50 | + 'id' => $this->primaryKey(6)->notNull() . ' AUTO_INCREMENT', | ||
| 51 | + 'code' =>'varchar(254) NOT NULL', | ||
| 52 | + 'name' => 'varchar(254) NOT NULL', | ||
| 53 | + 'name_price' => 'varchar(254) NOT NULL', | ||
| 54 | + 'currency_id' => 'int(3) unsigned NOT NULL', | ||
| 55 | + 'delivery' => 'varchar(254) NOT NULL', | ||
| 56 | + 'email' => 'varchar(254) NOT NULL', | ||
| 57 | + 'info' => 'text NOT NULL', | ||
| 58 | + 'active' => 'tinyint(1) unsigned NOT NULL DEFAULT 1', | ||
| 59 | + 'PARSER_IS_ACTIVE' => 'tinyint(1) unsigned NOT NULL DEFAULT 0', | ||
| 60 | + 'PARSER_COLUMN_COUNT' => 'int(6) unsigned DEFAULT NULL', | ||
| 61 | + 'PARSER_FIELD_BRAND' => 'int(3) unsigned DEFAULT NULL', | ||
| 62 | + 'PARSER_FIELD_ARTICLE' => 'int(3) unsigned DEFAULT NULL', | ||
| 63 | + 'PARSER_FIELD_ARTICLE_PREFIX' => 'tinyint(1) unsigned NOT NULL DEFAULT 0', | ||
| 64 | + 'PARSER_FIELD_PRICE' => 'int(3) unsigned DEFAULT NULL', | ||
| 65 | + 'PARSER_FIELD_DESCR' =>'int(3) unsigned DEFAULT NULL', | ||
| 66 | + 'PARSER_FIELD_BOX' => 'int(3) unsigned DEFAULT NULL', | ||
| 67 | + 'PARSER_FIELD_ADD_BOX' => 'int(3) unsigned DEFAULT NULL', | ||
| 68 | + 'PARSER_FIELD_GROUP_RG' => 'int(3) unsigned DEFAULT NULL', | ||
| 69 | + 'PARSER_FIELD_SIGN' => 'varchar(1) NOT NULL', | ||
| 70 | + 'PARSER_FIELD_MULTIPLIER' => 'float(8,2) unsigned DEFAULT NULL', | ||
| 71 | + 'price_date_update' => 'varchar(15) NOT NULL' | ||
| 72 | + | ||
| 73 | + ], $tableOptions); | ||
| 74 | + | ||
| 75 | + $this->createIndex('code', '{{%importer}}', 'code', true); | ||
| 76 | + $this->createIndex('name', '{{%importer}}', 'name', true); | ||
| 77 | + $this->createIndex('active', '{{%importer}}', 'active', false); | ||
| 78 | + } | ||
| 79 | + | ||
| 80 | + public function down() | ||
| 81 | + { | ||
| 82 | + $this->dropTable('{{%importer}}'); | ||
| 83 | + | ||
| 84 | + return false; | ||
| 85 | + } | ||
| 86 | + | ||
| 87 | + /* | ||
| 88 | + // Use safeUp/safeDown to run migration code within a transaction | ||
| 89 | + public function safeUp() | ||
| 90 | + { | ||
| 91 | + } | ||
| 92 | + | ||
| 93 | + public function safeDown() | ||
| 94 | + { | ||
| 95 | + } | ||
| 96 | + */ | ||
| 97 | +} |