phpMyAdmin für SQLite? | ALTER TABLE MySQL <-> SQLite

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Mittwoch 25. April 2007, 07:42

Ich bin nicht so der Datenbank Spezialist. Deswegen "mogel" ich mich immer mit phpMyAdmin durch.
Wenn ich irgendwelchen SQL-Statements brauche, nehme ich phpMyAdmin zur Hand. Ich mache damit die Dinge die ich machen will und es spukt mit den passenden SQL-Befehl aus. Den Befehl kommt dann per Copy&Paste in mein Skript. Mit ein wenig Handarbeit wird es dann eine runde Sache ;)

Sehr hilfreich, wenn man z.B. die DB ein wenig ändern will (ALTER TABLE).

Nun suche ich eine Möglichkeit das ganze auch mit SQLite zu machen. Aber dafür hab ich noch keine ähnliche Lösung gefunden :(

Es gibt zwar Listen mit Tools, hier:
http://www.sqlite.org/cvstrac/wiki?p=ManagementTools
http://www.sqlite.org/cvstrac/wiki/wiki ... erterTools
Aber wer hat Erfahrungen gesammelt und kann mit einen Tipp geben, welches Tool die SQL-Statements ausspuckt?
Zuletzt geändert von jens am Mittwoch 25. April 2007, 10:01, insgesamt 2-mal geändert.

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
Whitie
User
Beiträge: 111
Registriert: Sonntag 4. Juni 2006, 12:39
Wohnort: Schulzendorf

Mittwoch 25. April 2007, 09:41

Hi Jens,

schau mal bei http://freshmeat.net/projects/sqliteadmin/ vorbei, vielleicht ist das was für Dich.

Gruß, Whitie

Edit: Direktlink http://www.phpro.org/sqlite/
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Mittwoch 25. April 2007, 09:49

Ja, das wäre evtl. was... Aber es scheint noch in einem sehr frühen Stadium zu sein...

Ich hab nun konkret ein Problem. MySQL Statement sieht so aus:

Code: Alles auswählen

ALTER TABLE pylucid_page CHANGE parent parent_id INT( 11 ) NOT NULL DEFAULT '0';
Der funktionier mit SQLite nicht:
Error: near "CHANGE": syntax error
Auf der Seite http://www.sqlite.org/omitted.html kann man folgendes lesen:
Complete ALTER TABLE support
Only the RENAME TABLE and ADD COLUMN variants of the ALTER TABLE command are supported. Other kinds of ALTER TABLE operations such as DROP COLUMN, ALTER COLUMN, ADD CONSTRAINT, and so forth are omitted.
Heißt das, ich kann Spalten gar nicht mehr ändern? Muß ich dann erst eine neue Spalte einfügen, die Werte übertragen und danach die alte Spalte löschen???

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
BlackJack

Mittwoch 25. April 2007, 10:01

Die alte Spalte löschen geht auch nicht weil ``DROP COLUMN`` nicht unterstützt wird. Du kannst eine neue, im Schema veränderte Tabelle anlegen, die Daten rüberkopieren, die alte Tabelle löschen (oder umbenennen) und dann die neue Tabelle umbenennen.
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Mittwoch 25. April 2007, 10:15

Uff, das ist ganz schön Aufwendig :( Gibt es dafür irgendwo fertige Routinen?

.oO(Vielleicht bleibe ich dann einfach halber in der MySQL Welt?!?!)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
BlackJack

Mittwoch 25. April 2007, 12:04

Also ich finde MySQL ist im normalen Betrieb aufwändiger als das verändern eines Tabellenschemas in SQLite, was nicht so häufig vorkommen sollte.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Samstag 28. April 2007, 16:56

jens hat geschrieben:.oO(Vielleicht bleibe ich dann einfach halber in der MySQL Welt?!?!)
Habe ich erwähnt, das das Ändern der Datenbankschemate mit PostgreSQL ganz ganz einfach geht? Ich nutze dazu immer ``psql`` + die PostgreSQL-Dokumentation die es online gibt und es funktioniert absolut reibungslos. Das muss es auch, denn einigen meiner Tabellen muss öfters was gedreht und verstellt werden.

Ist ``CHANGE`` denn überhaupt standarisiert?
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Antworten