m261009_000001_create_guest_declaration_draft.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. use yii\db\Migration;
  3. class m261009_000001_create_guest_declaration_draft extends Migration
  4. {
  5. public function safeUp()
  6. {
  7. $this->createTable('{{%GUEST_DECLARATION_DRAFT}}', [
  8. 'ID' => $this->string(32)->notNull(),
  9. 'ORDER_SN' => $this->string(32)->notNull(),
  10. 'ACCESS_TOKEN_HASH' => $this->string(64)->notNull(),
  11. 'STATUS' => $this->string(32)->notNull(),
  12. 'PAYLOAD' => $this->text()->notNull(),
  13. 'ORDER_SNAPSHOT' => $this->text()->notNull(),
  14. 'PAY_AMOUNT' => $this->decimal(20, 6)->notNull(),
  15. 'CURRENCY' => $this->string(8)->notNull(),
  16. 'PAYMENT_REFERENCE' => $this->string(128),
  17. 'PAYMENT_NOTE' => $this->text(),
  18. 'USER_ID' => $this->string(32),
  19. 'CREATED_AT' => $this->integer()->notNull(),
  20. 'UPDATED_AT' => $this->integer(),
  21. 'EXPIRES_AT' => $this->integer()->notNull(),
  22. 'PAID_AT' => $this->integer(),
  23. 'COMPLETED_AT' => $this->integer(),
  24. 'PRIMARY KEY ([[ID]])',
  25. ]);
  26. $this->createIndex('UX_GUEST_DRAFT_ORDER_SN', '{{%GUEST_DECLARATION_DRAFT}}', 'ORDER_SN', true);
  27. $this->createIndex('UX_GUEST_DRAFT_TOKEN_HASH', '{{%GUEST_DECLARATION_DRAFT}}', 'ACCESS_TOKEN_HASH', true);
  28. $this->createIndex('UX_GUEST_DRAFT_PAYMENT_REF', '{{%GUEST_DECLARATION_DRAFT}}', 'PAYMENT_REFERENCE', true);
  29. $this->createIndex('IX_GUEST_DRAFT_STATUS_EXPIRY', '{{%GUEST_DECLARATION_DRAFT}}', ['STATUS', 'EXPIRES_AT']);
  30. }
  31. public function safeDown()
  32. {
  33. $this->dropTable('{{%GUEST_DECLARATION_DRAFT}}');
  34. }
  35. }