Jak uruchomić migracje CodeIgniter?

Wiem jak je tworzyć poprzez http://codeigniter.com/user_guide/libraries/migration.html

Ale jak utworzyć pliki migracji, jak je uruchomić?

Author: RSK, 2012-02-06

5 answers

Nie jestem pewien, czy to jest właściwy sposób, ale to działa dla mnie.

Stworzyłem kontroler o nazwie migrate (Kontrolery / migracja.php) .

<?php defined("BASEPATH") or exit("No direct script access allowed");

class Migrate extends CI_Controller{

    public function index($version){
        $this->load->library("migration");

      if(!$this->migration->version($version)){
          show_error($this->migration->error_string());
      }   
    }
}

Następnie z przeglądarki wywołam ten adres url, aby wykonać index akcję w migrate controller
Eg: http://localhost/index.php / migrate / index/1

 27
Author: RSK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-08 07:32:48

Używanie tych stron jako referencji: uruchamianie przez CLI i Klasa migracji możesz ograniczyć dostęp do kontrolera migracji do wiersza poleceń z czymś w tych liniach (aplikacja / Kontrolery / migrate.php):

<?php  if ( ! defined('BASEPATH')) exit("No direct script access allowed");

class Migrate extends CI_Controller {

  public function __construct()
  {
    parent::__construct();

    $this->input->is_cli_request() 
      or exit("Execute via command line: php index.php migrate");

    $this->load->library('migration');
  }

  public function index()
  {
    if(!$this->migration->latest()) 
    {
      show_error($this->migration->error_string());
    }
  }
}

Następnie, aby wykonać ostatnią migrację, cd do katalogu głównego projektu i uruchom:

php index.php migrate

Ale gdy próbujesz uzyskać dostęp przez serwer WWW domain.com/migrate zobaczysz tekst w skrypcie powyżej.

 54
Author: twmulloy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-31 16:25:22

Możesz również uruchomić niektóre wersje dla migracji w dół lub w górę:

if(!defined('BASEPATH')) exit('No direct script access allowed');
class Migrate extends CI_Controller{

    public function __construct()
    {
        parent::__construct();
        $this->load->library('migration');
    }

     public function version($version)
     {
         if($this->input->is_cli_request())
         {
            $migration = $this->migration->version($version);
            if(!$migration)
            {
                echo $this->migration->error_string();
            }
            else
            {
                echo 'Migration(s) done'.PHP_EOL;
            }
        }
        else
        {
            show_error('You don\'t have permission for this action');;
        }
     }
 }

Dla CLI uruchom polecenie php index.php migrate version 5, Gdzie 5 jest wersją migracji. Jeśli wersja jest większa od bieżącej migracji-migracja w górę, w przeciwnym razie-w dół do wprowadzonej wersji.

 5
Author: joni jones,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-26 16:29:24

Https://github.com/AimalAzmi/codeigniter-migrations

Spróbuj tego, napisałem do tego bibliotekę, z której można bardzo łatwo korzystać poprzez CLI. Może być używany do tworzenia plików migracji i uruchamiania migracji do tyłu lub do przodu.

 0
Author: Aimal Azmi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-21 10:35:21

Jest to najprostsza migracja bazy danych Codeigniter

  1. Konfiguracja aplikacji/bazy danych.php do ustawień nazwy bazy danych.
  2. Tworzenie aplikacji/konfiguracji.php `

 <?php defined("BASEPATH") or exit("No direct script access allowed");
  class Migrate extends CI_Controller {
    public function index() {
      if (ENVIRONMENT == 'development') {
        $this->load->library('migration');
        if ( ! $this->migration->current()) {
          show_error($this->migration->error_string());
        } else {
          echo "success";
        }
      } else {
        echo "go away";
      }
    }
  }
?> 

`.

  1. w aplikacji \ migracja.zmiana php $config['migration_enabled'] = TRUE;.
  2. Otwórz CLI w folderze i wpisz php index.php migrate
 0
Author: Bidyashish Kumar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-22 06:57:24