20221211223600_merge_node_online_log.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. declare(strict_types=1);
  3. use Phinx\Migration\AbstractMigration;
  4. final class MergeNodeOnlineLog extends AbstractMigration
  5. {
  6. public function up(): void
  7. {
  8. if ($this->hasTable('node_online_log')) {
  9. $this->table('node_online_log')->drop()->update();
  10. }
  11. if (! $this->table('node')->hasColumn('online_user')) {
  12. $this->table('node')
  13. ->addColumn('online_user', 'integer', [ 'comment' => '节点在线用户', 'default' => 0 ])
  14. ->save();
  15. }
  16. }
  17. public function down(): void
  18. {
  19. $this->table('node_online_log', [ 'id' => false, 'primary_key' => [ 'id' ]])
  20. ->addColumn('id', 'integer', [ 'identity' => true ])
  21. ->addColumn('node_id', 'integer', [])
  22. ->addColumn('online_user', 'integer', [])
  23. ->addColumn('log_time', 'integer', [])
  24. ->addIndex([ 'node_id' ])
  25. ->addForeignKey('node_id', 'node', 'id', [ 'delete' => 'CASCADE', 'update' => 'CASCADE' ])
  26. ->create();
  27. $this->table('node')
  28. ->removeColumn('online_user')
  29. ->save();
  30. }
  31. }