Migrate.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. use Schema\Wrapper as Wrapper;
  3. use App\Core\Sanity\MigratorController as Migrator;
  4. function geo_postal_upgrade($pluginversion) {
  5. if ($pluginversion < "0.0.1") {
  6. $table = Wrapper::get_table("geo_postals");
  7. $table->addColumn("country_id", "integer", Array("null" => false));
  8. $table->addColumn("state_id", "integer", Array("null" => false));
  9. $table->addColumn("city_id", "integer", Array("null" => false));
  10. $table->addColumn("zone_id", "integer", Array("null" => true));
  11. $table->addColumn("code", "string", Array("null" => false));
  12. $table->addColumn("road", "string", Array("null" => true));
  13. $table->addColumn("description", "string", Array("null" => true));
  14. $table->addTimestamps();
  15. $table->addSoftDelete();
  16. $table->addForeignKey('state_id', Wrapper::get_table('geo_states'));
  17. $table->addForeignKey('country_id', Wrapper::get_table('geo_countries'));
  18. $table->addForeignKey('city_id', Wrapper::get_table('geo_cities'));
  19. $table->addForeignKey('zone_id', Wrapper::get_table('geo_zones'));
  20. $table->create();
  21. $table = Wrapper::get_table("geo_postal_caches");
  22. $table->addColumn("code", "string", Array("null" => false));
  23. $table->addColumn("json", "text", Array("null" => false));
  24. $table->addTimestamps();
  25. $table->create();
  26. Migrator::getInstance()->update_plugin_version("geo_postal", "1.0.0");
  27. return;
  28. }
  29. if ($pluginversion < "1.0.1") {
  30. $table = Wrapper::get_table("geo_postal_caches");
  31. $table->addColumn("code", "string", Array("null" => false));
  32. $table->addColumn("json", "text", Array("null" => false));
  33. $table->addTimestamps();
  34. $table->create();
  35. Migrator::getInstance()->update_plugin_version("geo_postal", "1.0.1");
  36. return;
  37. }
  38. //if ($pluginversion < "0.0.2") {
  39. //$table = Wrapper::get_table("geo_postal");
  40. //Migrator::getInstance()->update_plugin_version("geo_postal", "1.0.1");
  41. //return;
  42. //}
  43. }
  44. function geo_postal_rollback($pluginversion) {
  45. if($pluginversion > "0.0.1"){
  46. $table = Wrapper::get_table("geo_postal");
  47. $table->drop();
  48. return;
  49. }
  50. }