Spuštění DB migrací na hostingu (Nextras/Migrations)

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
mates
Člen | 36
+
+1
-

Ahoj,
zkouším poprvé DB migrace pomocí Nextras/Migrations, daří se mi s tím pracovat pomocí Kdyby/Console, ale je vůbec možné s migracemi pracovat na sdíleném hostingu pokud tam ke konzoli nemám přístup? Je možné spouštět jednotlivé příkazy migrací přes URL?

Jan Tvrdík
Nette guru | 2595
+
+3
-

Ano, Nextras/Migrations mají i HTTP rozhraní. Viz http://nextras.cz/…ons/docs/3.0#…. Pochopitelně nesmíš zapomenout přidat nějaké ověřování oprávnění, aby ti někdo na hostignu nevyresetoval DB =)

mates
Člen | 36
+
0
-

Děkuji za odpověď. Manuál jsem pročetl a bohužel jsem na to stále nepřišel. Mám pro ty migrace udělat presenter a z run.php udělat akci v presenteru, nebo to má být samostatný skript, nezávislý na nette aplikaci? Pokud skript tak upravit .htaccess tak aby byly vyjímka a nebyl bych přesměrován na index.php, nebo nějak upravit routování? Nemáš někde kus veřejného kódu jak je ten run.php implementován?

Jan Tvrdík
Nette guru | 2595
+
0
-

akci v presenteru, nebo to má být samostatný skript

V dokumentaci je to napsáno dost jasně, ne? Nebo která část věty „Create new PHP file (e.g. ./migrations/run.php)“ je ti nejasná?

Pokud skript tak upravit .htaccess tak aby byly vyjímka a nebyl bych přesměrován na index.php

Pokud používáš standardní .htaccess z Nette sandboxu, tak to není třeba.

Nemáš někde kus veřejného kódu jak je ten run.php implementován?

https://github.com/…ns/index.php Překvapivě je tam téměř to stejné, co v dokumentaci.

mates
Člen | 36
+
0
-

Děkuji za názornou ukázku. Špatně zeptal, nemám problém s porozuměním té věty, skript vytvořený mám. Možná že mám vše nastaveno správně, ale jenom nevím jak migraci aktivovat z webu, jak vypadá url a parametry? Doufám, že to v té dokumentaci není, jinak se budu moc stydět.

David Matějka
Moderator | 6445
+
0
-

A zkusil si ten script proste otevrit? kdyz kouknu do kodu http controleru, tak by to melo zobrazit nejaky html: https://github.com/…ntroller.php

hrach
Člen | 1838
+
0
-

a samozřejmě je si možno ten skript spustit a mrknout na vygenerovanou url a tu pak volat přímo…

mates
Člen | 36
+
0
-

Tak jo kluci, byl jsem natvrdlý. Mě prostě nenapadlo dát skript přímo do /www/run.php a změnit cestu k sql ,tak aby sql skripty zůstaly chráněné „uvnitř“ aplikace. Řešením pro mne je:

  1. Adresáře pro skripty umístit do /migrations
  2. Skript přejměnovat a umístit do /www/migrations.php
  3. Ve skriptu nastavit cestu $baseDir = __DIR__ . '/../migrations';

Děkuji za nápovědy a dobrý doplněk aplikace.