1 | def get_sequence_name(cursor, table_name, pk_name):
|
---|
2 | """Fetch the sequence name of an auto-incrementing field
|
---|
3 |
|
---|
4 | Uses the postgres native "information_schema.columns" table,
|
---|
5 | resulting in a string looking like "nextval('sometable_id_seq'::regclass)"
|
---|
6 | """
|
---|
7 | query = """SELECT column_default
|
---|
8 | FROM information_schema.columns
|
---|
9 | WHERE table_name = %s AND column_name = %s;"""
|
---|
10 | cursor.execute(query, (table_name, pk_name))
|
---|
11 | result = cursor.fetchone()
|
---|
12 | if result is None:
|
---|
13 | return None
|
---|
14 | return result[0].split("'")[1]
|
---|