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 <
[email protected]> 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 <[email protected]> wrote:
>
>> Thanks, applied.
>>
>> On Wed, May 16, 2018 at 2:34 PM, Victoria Henry <[email protected]>
>> wrote:
>>
>>> Hi Aditya,
>>>
>>> Looks good to us!
>>>
>>> Sincerely,
>>>
>>> Anthony & Victoria
>>>
>>>
>>> On Wed, May 16, 2018 at 7:24 AM Aditya Toshniwal <
>>> [email protected]> 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)