Hallo,
ich arbeite mich gerade mit dem Buch "Flask by Example" in das Thema Flask ein. Das Buch ist gut geschrieben, leider klappt
aber alles nicht so Reibungslos, wie es im Buch beschrieben ist. In dem Buch erarbeitet man drei Projekte. Das erste Projekt konnte ich Dank der Hilfe des Forums abschließen (siehe Flask und Apache2). Daher hoffe ich, dass Ihr mir auch diesmal weiterhelfen könnt.
Im aktuellen Projekt geht es darum, mit Python und MySQL den Umgang mit der Datenbank zu erlernen.
Dazu habe ich mysql-server und pymysql installiert.
Als nächstes sollte ich ein "Database" Script anlegen. Der Projektname ist crimemap.
In db_setup.py steht:
import pymysql
import dbconfig
connection = pymysql.connect(host='localhost',
user=dbconfig.db_user,
passwd=dbconfig.db_password)
try:
with connection.cursor() as cursor:
sql = "CREATE DATABASE IF NOT EXISTS crimemap"
cursor.execute(sql)
sgl = """CREATE TABLE IF NOT EXISTS crimemap.crimes(
id int NOT NULL AUTO_INCREMENT,
latitude FLOAT(10,6),
longitude FLOAT(10,6),
date DATETIME,
category VARCHAR(50)
description VARCHAR(1000),
updated_at TIMESTAMP,
PRIMARY KEY (id)
)"""
cursor.execute(sql);
connection.commit()
finally:
connection.close()
Alles anzeigen
Als nächstes habe ich die Datei dbconfig.py erstellt, welche den db_usernamen und db_password beinhaltet.
Führe ich das Pythonskript aus:
kommt folgender Warnhinweis:
/home/pi/.local/lib/python2.7/site-packages/pymysql/cursors.py:166: Warning: (1007, "Can't create database 'crimemap'; database exists")
result = self._query(query)
Es steht dort, dass die database schon existiert, obwohl sie vorher noch nicht da war.
Gehe ich in MySQL kann ich die database "crimemap" finden. Es wurden aber keine "TABLES" angelegt.
Kontrolliert habe ich dies mit:
Dort steht, dass keine Tables angelegt sind, obwohl im Pythonskript dies ja so vorgeshen ist.
Nun bin ich verunsichert. Ist das normal oder besteht ein Fehler im Code?
Vielleicht könnt Ihr Anhand meiner Beschreibung erkennen, wo der Fehler liegt. Ist ja manchmal nur eine Kleinigkeit mit
großer Wirkung.
Ich freue mich auf Eure Tipps!!!
Gruß
Stella