Missed the attachment. Apologies :( PFA.
Thanks and Regards, Aditya Toshniwal Software Engineer | EnterpriseDB Software Solutions | Pune "Don't Complain about Heat, Plant a tree" On Mon, Jun 4, 2018 at 3:12 PM, Aditya Toshniwal < aditya.toshni...@enterprisedb.com> wrote: > Hi Hackers, > > I missed one part here. There is a constraint on port in in sqlite config > database also, and is not allowing ports below 1024. > PFA patch - part2 which includes constraint change and migration script > for the db file. > Kindly review. > > Thanks and Regards, > Aditya Toshniwal > Software Engineer | EnterpriseDB Software Solutions | Pune > "Don't Complain about Heat, Plant a tree" > > On Fri, May 18, 2018 at 3:43 PM, Dave Page <dp...@pgadmin.org> wrote: > >> Thanks, applied. >> >> On Wed, May 16, 2018 at 2:34 PM, Victoria Henry <vhe...@pivotal.io> >> wrote: >> >>> Hi Aditya, >>> >>> Looks good to us! >>> >>> Sincerely, >>> >>> Anthony & Victoria >>> >>> >>> On Wed, May 16, 2018 at 7:24 AM Aditya Toshniwal < >>> aditya.toshni...@enterprisedb.com> wrote: >>> >>>> Hi Hackers, >>>> >>>> PFA patch to allow server port number below 1024 till 1 in Create >>>> Server dialog. >>>> >>>> Thanks and Regards, >>>> Aditya Toshniwal >>>> Software Engineer | EnterpriseDB Software Solutions | Pune >>>> "Don't Complain about Heat, Plant a tree" >>>> >>> >> >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >> > >
diff --git a/web/migrations/versions/7c56ea250085_.py b/web/migrations/versions/7c56ea250085_.py new file mode 100644 index 0000000..24af349 --- /dev/null +++ b/web/migrations/versions/7c56ea250085_.py @@ -0,0 +1,90 @@ + +"""Change server port constraint to allow port below 1024 RM#3307 + +Revision ID: 7c56ea250085 +Revises: a68b374fe373 +Create Date: 2018-06-04 14:23:31.472645 + +""" +from alembic import op +import sqlalchemy as sa + +from pgadmin.model import db + +# revision identifiers, used by Alembic. +revision = '7c56ea250085' +down_revision = 'a68b374fe373' +branch_labels = None +depends_on = None + + +def upgrade(): + # To Save previous data + db.engine.execute("ALTER TABLE server RENAME TO server_old") + + # Create table with new constraint definition + db.engine.execute(""" + CREATE TABLE server ( + id INTEGER NOT NULL, + user_id INTEGER NOT NULL, + servergroup_id INTEGER NOT NULL, + name VARCHAR(128) NOT NULL, + host VARCHAR(128), + port INTEGER NOT NULL CHECK(port >= 1 AND port <= 65534), + maintenance_db VARCHAR(64), + username VARCHAR(64) NOT NULL, + password VARCHAR(64), + role VARCHAR(64), + ssl_mode VARCHAR(16) NOT NULL CHECK(ssl_mode IN + ( 'allow' , 'prefer' , 'require' , 'disable' , + 'verify-ca' , 'verify-full' ) + ), + comment VARCHAR(1024), + discovery_id VARCHAR(128), + hostaddr TEXT(1024), + db_res TEXT, + passfile TEXT, + sslcert TEXT, + sslkey TEXT, + sslrootcert TEXT, + sslcrl TEXT, + sslcompression INTEGER DEFAULT 0, + bgcolor TEXT(10), + fgcolor TEXT(10), + service TEXT, + use_ssh_tunnel INTEGER DEFAULT 0, + tunnel_host TEXT, + tunnel_port TEXT, + tunnel_username TEXT, + tunnel_authentication INTEGER DEFAULT 0, + tunnel_identity_file TEXT, + PRIMARY KEY(id), + FOREIGN KEY(user_id) REFERENCES user(id), + FOREIGN KEY(servergroup_id) REFERENCES servergroup(id) + ) + """) + + # Copy old data again into table + db.engine.execute(""" + INSERT INTO server ( + id, user_id, servergroup_id, name, host, port, maintenance_db, + username, password, role, ssl_mode, comment, discovery_id, hostaddr, + db_res, passfile, sslcert, sslkey, sslrootcert, sslcrl, + sslcompression, bgcolor, fgcolor, service, use_ssh_tunnel, + tunnel_host, tunnel_port, tunnel_username, tunnel_authentication, + tunnel_identity_file + + ) SELECT + id, user_id, servergroup_id, name, host, port, maintenance_db, + username, password, role, ssl_mode, comment, discovery_id, hostaddr, + db_res, passfile, sslcert, sslkey, sslrootcert, sslcrl, + sslcompression, bgcolor, fgcolor, service, use_ssh_tunnel, + tunnel_host, tunnel_port, tunnel_username, tunnel_authentication, + tunnel_identity_file + FROM server_old""") + + # Remove old data + db.engine.execute("DROP TABLE server_old") + +def downgrade(): + pass diff --git a/web/pgadmin/model/__init__.py b/web/pgadmin/model/__init__.py index c3171ce..df88116 100644 --- a/web/pgadmin/model/__init__.py +++ b/web/pgadmin/model/__init__.py @@ -29,7 +29,7 @@ from flask_sqlalchemy import SQLAlchemy # ########################################################################## -SCHEMA_VERSION = 15 +SCHEMA_VERSION = 16 ########################################################################## # @@ -111,7 +111,7 @@ class Server(db.Model): hostaddr = db.Column(db.String(128), nullable=True) port = db.Column( db.Integer(), - db.CheckConstraint('port >= 1024 AND port <= 65534'), + db.CheckConstraint('port >= 1 AND port <= 65534'), nullable=False) maintenance_db = db.Column(db.String(64), nullable=True) username = db.Column(db.String(64), nullable=False)