ID-Zähler nach dem Löschen der Tabelle zurücksetzen ()

Zu Testzwecken lösche ich jede Tabelle, bevor ich Code ausführe.

for table in reversed(db.metadata.sorted_tables):
    engine.execute(table.delete())

do_stuff()

Die neuen Daten sind jedochid Werte beginnen dort, wo die vorherigenidhat aufgehört:

Erste Iteration:

 id  | value   
-----+---------
 1   | hi      
 2   | there   

Zweite Iteration (Tabelle löschen, neue Daten einfügen):

 id  | value   
-----+---------
 3   | good    
 4   | day     

Gibt es eine Möglichkeit das zurückzusetzen?id zählen wenn ich die tabelle lösche?

EDIT: Scheint ich habe es kaputt gemacht, der Tisch ist jetzt überhaupt nicht abgeräumt

config.py

SQLALCHEMY_DATABASE_URI = 'postgresql://postgres:myPassword@localhost/myDatabase'


app.py

app = Flask(__name__)
app.config.from_pyfile('config.py')
db = SQLAlchemy(app)


models.py

from app import app, db

def clear():
    for table in reversed(db.metadata.sorted_tables):
        db.engine.execute('TRUNCATE TABLE ' + table.name + ' RESTART IDENTITY CASCADE')

Die Tabelle wird noch zu (using) hinzugefügtdb.session.add_all() unddb.session.commit()). Jedoch,clear() tut nichts. Wenn ich mich als der anmeldepostgres Benutzer interminal und direkt ausführenTRUNCATE TABLE myTable RESTART IDENTITY CASCADE, Es klappt.

table.name gibt die richtigen Namen an. Das lässt mich glauben, dass etwas nicht stimmtdb.engine.execute(), aber das macht da nicht viel sinndb.session.add_all() funktioniert

Antworten auf die Frage(1)

Ihre Antwort auf die Frage