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ć?
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
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.
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.
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.
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
- Konfiguracja aplikacji/bazy danych.php do ustawień nazwy bazy danych.
- 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";
}
}
}
?>
`.
- w aplikacji \ migracja.zmiana php
$config['migration_enabled'] = TRUE;
. - Otwórz CLI w folderze i wpisz
php index.php migrate
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