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 | +} | ... | ... |