alembic: Adjust sippeers, queue_members, and voicemail_messages tables.

* Increased the sippeers useragent max string size to 255.

* Changed the queue_members uniqueid to an auto incremented integer
instead of a string.

* Increased the voicemail_messages BLOB size to LONGBLOB on mysql.

* Fixed the add_tables_for_pjsip config change version downgrade actions
to drop a table it created.

* Adjusted the sample alembic.ini files cdr.ini.sample, config.ini.sample,
and voicemail.ini.sample to give a mysql and postgres sqlalchemy.url
lines.

ASTERISK-23847 #close
Reported by: Stephen More

ASTERISK-23825 #close
Reported by: Stephen More

ASTERISK-23909 #close
Reported by: Stephen More

Review: https://reviewboard.asterisk.org/r/3870/
........

Merged revisions 420211 from http://svn.asterisk.org/svn/asterisk/branches/12


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@420212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Richard Mudgett
2014-08-06 17:04:08 +00:00
parent 3e5ab6ca39
commit a6612e80aa
7 changed files with 169 additions and 2 deletions

View File

@@ -15,7 +15,10 @@ script_location = cdr
# the 'revision' command, regardless of autogenerate
# revision_environment = false
sqlalchemy.url = mysql://user:pass@localhost/voicemail
#sqlalchemy.url = driver://user:pass@localhost/dbname
#sqlalchemy.url = postgresql://user:pass@localhost/cdr
sqlalchemy.url = mysql://user:pass@localhost/cdr
# Logging configuration

View File

@@ -1,3 +1,5 @@
# A generic, single database configuration.
[alembic]
# path to migration scripts
script_location = config
@@ -5,11 +7,18 @@ script_location = config
# template used to generate migration files
# file_template = %%(rev)s_%%(slug)s
# max length of characters to apply to the
# "slug" field
#truncate_slug_length = 40
# set to 'true' to run the environment during
# the 'revision' command, regardless of autogenerate
# revision_environment = false
sqlalchemy.url = mysql://root:password@localhost/asterisk
#sqlalchemy.url = driver://user:pass@localhost/dbname
#sqlalchemy.url = postgresql://user:pass@localhost/asterisk
sqlalchemy.url = mysql://user:pass@localhost/asterisk
# Logging configuration

View File

@@ -0,0 +1,41 @@
#
# Asterisk -- An open source telephony toolkit.
#
# Copyright (C) 2014, Richard Mudgett
#
# Richard Mudgett <rmudgett@digium.com>
#
# See http://www.asterisk.org for more information about
# the Asterisk project. Please do not directly contact
# any of the maintainers of this project for assistance;
# the project provides a web site, mailing lists and IRC
# channels for your use.
#
# This program is free software, distributed under the terms of
# the GNU General Public License Version 2. See the LICENSE file
# at the top of the source tree.
#
"""increase useragent column size
Revision ID: 1758e8bbf6b
Revises: 1d50859ed02e
Create Date: 2014-07-28 14:04:17.874332
"""
# revision identifiers, used by Alembic.
revision = '1758e8bbf6b'
down_revision = '1d50859ed02e'
from alembic import op
import sqlalchemy as sa
def upgrade():
op.alter_column('sippeers', 'useragent', type_=sa.String(255))
def downgrade():
op.alter_column('sippeers', 'useragent', type_=sa.String(20))

View File

@@ -184,5 +184,6 @@ def downgrade():
op.drop_table('ps_endpoints')
op.drop_table('ps_auths')
op.drop_table('ps_aors')
op.drop_table('ps_contacts')
op.drop_table('ps_domain_aliases')
op.drop_table('ps_endpoint_id_ips')

View File

@@ -0,0 +1,60 @@
#
# Asterisk -- An open source telephony toolkit.
#
# Copyright (C) 2014, Richard Mudgett
#
# Richard Mudgett <rmudgett@digium.com>
#
# See http://www.asterisk.org for more information about
# the Asterisk project. Please do not directly contact
# any of the maintainers of this project for assistance;
# the project provides a web site, mailing lists and IRC
# channels for your use.
#
# This program is free software, distributed under the terms of
# the GNU General Public License Version 2. See the LICENSE file
# at the top of the source tree.
#
"""make q member uniqueid autoinc
Revision ID: 5139253c0423
Revises: 1758e8bbf6b
Create Date: 2014-07-29 16:26:51.184981
"""
# revision identifiers, used by Alembic.
revision = '5139253c0423'
down_revision = '1758e8bbf6b'
from alembic import op
import sqlalchemy as sa
def upgrade():
# Was unable to find a way to use op.alter_column() to add the unique
# index property.
op.drop_column('queue_members', 'uniqueid')
op.add_column(
'queue_members',
sa.Column(
name='uniqueid', type_=sa.Integer, nullable=False,
unique=True))
# The postgres backend does not like the autoincrement needed for
# mysql here. It is just the backend that is giving a warning and
# not the database itself.
op.alter_column(
table_name='queue_members', column_name='uniqueid',
existing_type=sa.Integer, existing_nullable=False,
autoincrement=True)
def downgrade():
# Was unable to find a way to use op.alter_column() to remove the
# unique index property.
op.drop_column('queue_members', 'uniqueid')
op.add_column(
'queue_members',
sa.Column(name='uniqueid', type_=sa.String(80), nullable=False))

View File

@@ -1,3 +1,5 @@
# A generic, single database configuration.
[alembic]
# path to migration scripts
script_location = voicemail
@@ -5,10 +7,17 @@ script_location = voicemail
# template used to generate migration files
# file_template = %%(rev)s_%%(slug)s
# max length of characters to apply to the
# "slug" field
#truncate_slug_length = 40
# set to 'true' to run the environment during
# the 'revision' command, regardless of autogenerate
# revision_environment = false
#sqlalchemy.url = driver://user:pass@localhost/dbname
#sqlalchemy.url = postgresql://user:pass@localhost/voicemail
sqlalchemy.url = mysql://user:pass@localhost/voicemail

View File

@@ -0,0 +1,44 @@
#
# Asterisk -- An open source telephony toolkit.
#
# Copyright (C) 2014, Richard Mudgett
#
# Richard Mudgett <rmudgett@digium.com>
#
# See http://www.asterisk.org for more information about
# the Asterisk project. Please do not directly contact
# any of the maintainers of this project for assistance;
# the project provides a web site, mailing lists and IRC
# channels for your use.
#
# This program is free software, distributed under the terms of
# the GNU General Public License Version 2. See the LICENSE file
# at the top of the source tree.
#
"""increase recording column size
Revision ID: 39428242f7f5
Revises: a2e9769475e
Create Date: 2014-07-28 16:02:05.104895
"""
# revision identifiers, used by Alembic.
revision = '39428242f7f5'
down_revision = 'a2e9769475e'
from alembic import op
import sqlalchemy as sa
def upgrade():
# Make BLOB a LONGBLOB for mysql so recordings longer than about
# four seconds can be stored.
# See LargeBinary http://docs.sqlalchemy.org/en/rel_0_9/core/types.html
op.alter_column('voicemail_messages', 'recording', type_=sa.LargeBinary(4294967295))
def downgrade():
op.alter_column('voicemail_messages', 'recording', type_=sa.LargeBinary)