Funkcja importu polecen SQL

0

Witam!

Dziala juz trac, SVN, jeszcze nalezy zrobic tylko logowanie i umiesczam pierwsze kody zrodlowe do nowej wersji 4programmers.net.

Jezeli ktos bylby chetny wniesc cos do projektu, to na tym etapie potrzebuje funkcji PHP sluzacej do importu pliku SQL (struktura tabel baz danych). Plik SQL jest eksportowany przez mysqldump i w takiej formie nalezy go importowac (potrzebne przy instalatorze projektu). Odpadaja wiec proste funkcje znajdujace sie w necie, polegajace na oddzieleniu instrukcji na podstawie znaku ;.

Plik SQL zawiera deklaracje funkcji, procedur, triggerow, komentarze /*! */, deklaracje DELIMITER itp, wiec proste funkcje odpadaja (nie radza sobie z takim plikiem). Wkrotce umieszcze plik SQL na SVN.

Obecnie myslalem nad tym, aby uzyc z linii polecen mysql, czyli:

exec('mysql -u -p < plik.sq')

0

Mysqlsump umie tez wypluwać w formacie XML afair...

0

Oj to jeszcze wiecej pracy, analiza takiego pliku i wyluskanie z tego SQL-a, bo o to Ci chodzi?

Poza tym, AFAIK takie cos nie wypluwa deklaracji triggerow, procedur skladowych itp.

0

Używanie exec dopiero jest nieładne, zwłaszcza jak ktoś ma poblowane, tudzież nie ma polecenie mysql w PATH na serwerze etc.

0

No dokladnie.

Dlatego tez szukam jakiejs funkcji, ktora radzilaby sobie z parsowaniem pliku *.sql i przesylaniem instrukcji do serwera.

phpMyAdmin jedynie sobie z tym radzi, a wszelkie znalezione kody na necie wymiekaly gdy przychodzilo do instrukcji tworzenia procedur skladowych.

0

Hmm, może nie do końca zrozumiałem, ale czy nie wystarczy zrobić to na takiej samej zasadzie jak działa pma? Swoją drogą mogę tylko gdybać, bo nie widzę pliku sql, ale wydaje mi się to dość proste w wykonaniu.

//Edit:

A może coś w ten deseń? http://www.modwest.com/help/kb6-253.html

0

Tak Dominium - to chodzi, tak jak dziala phpMyAdmin. Nawet mozna skopiowac kod z phpMyAdmina i na tej podstawie opracowac funkcje. Pobieznie przegladalem kod, ale wymaga troszke czasu, wgryzienia sie i pboranie tego, co wazne :)

0

Ok, jak uporam się z C# i Systemem ERP to zobaczę co będę w stanie zrobić. Czy ta funkcja ma być w jakiś specjalny sposób powiązana z framework?

0

Nie. Tzn. moze wysylac zapytania poprzez klase Db :)
Ale jak uzyjesz standardowych mysql_query() to ja sobie przerobie :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1