init depot renew
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
from pycen import con_bdcen,con_cad,con_fon as con
|
||||
import geopandas as gpd
|
||||
from sqlalchemy import create_engine, text
|
||||
|
||||
|
||||
def get_list_table(con,sch):
|
||||
return con.dialect.get_table_names(con,schema=sch)
|
||||
|
||||
def get_list_view(con,sch):
|
||||
return con.dialect.get_view_names(con,schema=sch)
|
||||
|
||||
def get_table_pkey(con,sch,tab):
|
||||
return con.dialect.get_foreign_keys(con,tab,sch)['constrained_columns']
|
||||
|
||||
def grant_all_table(con,sch):
|
||||
# sch = 'cadastre'
|
||||
sql = 'GRANT USAGE ON SCHEMA "%s" TO grp_consult;'%sch
|
||||
with con.begin() as cnx:
|
||||
cnx.execute(sql)
|
||||
print('GRANT USAGE TO grp_consult FOR SCHEMA "%s"'%(sch))
|
||||
for tab in get_list_table(con,sch):
|
||||
sql = 'GRANT SELECT ON TABLE "%s".%s TO grp_consult;'%(sch,tab)
|
||||
with con.begin() as cnx:
|
||||
cnx.execute(sql)
|
||||
print('GRANT SELECT TO grp_consult FOR "%s".%s'%(sch,tab))
|
||||
for tab in get_list_view(con,sch):
|
||||
sql = 'GRANT SELECT ON TABLE "%s".%s TO grp_consult;'%(sch,tab)
|
||||
with con.begin() as cnx:
|
||||
cnx.execute(sql)
|
||||
print('GRANT SELECT TO grp_consult FOR "%s".%s'%(sch,tab))
|
||||
|
||||
|
||||
|
||||
def revoke_all_table(con,sch):
|
||||
for tab in get_list_table(con,sch):
|
||||
sql = 'REVOKE SELECT ON "%s".%s FROM grp_consult;'%(sch,tab)
|
||||
with con.begin() as cnx:
|
||||
cnx.execute(sql)
|
||||
print('REVOKE SELECT grp_consult FOR "%s".%s'%(sch,tab))
|
||||
|
||||
for tab in get_list_view(con,sch):
|
||||
sql = 'REVOKE SELECT ON "%s".%s FROM grp_consult;'%(sch,tab)
|
||||
with con.begin() as cnx:
|
||||
cnx.execute(sql)
|
||||
print('REVOKE SELECT TO grp_consult FOR "%s".%s'%(sch,tab))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sch_cad = '42_202603'
|
||||
sch_old = '42_202501'
|
||||
grant_all_table(con_cad,sch_cad)
|
||||
# revoke_all_table(con_cad,sch_old)
|
||||
Reference in New Issue
Block a user